formations / php / les-variables-et-les-types
Les variables et les types
Php, comme les autres langages de programmation, permet de déclarer des variables afin de stocker des données. Php étant dynamiquement typé, il n'est pas nécessaire en mode procédural notamment de spécifier le type de données contenu dans une variable, ce qui permet de changer la valeur d'une variable pour passer par exemple d'un type chaîne de caractères à un type décimal. Néanmoins il faut être vigilant car ceci peut être source de bug.
Il existe en php, des méthodes natives pour s'assurer de la conversion d'une valeur contenu dans une variable dans le type approprié comme par exemple convertir un nombre décimal contenu dans une chaîne de caractères en un vrai nombre manipulable dans le cadre de calculs par exemple.
Les variables
En php on déclare une variable à l'aide du symbole $ et de la nommer. Contrairement à d'autres langage, il n'y a pas de mot-clé permettant d'instancier la variable lors de sa création comme "var" ou "let" en Javascript, comme le montre le code suivant :
$variable = "valeur";
Les types de données
Comme dans les différents autres langages, Php permet de manipuler différents types de données comme l'illustrent les exemples suivant. Il faut bien sûr inclure ce code dans une balise php (<?php ?>).
// Donnée de type nombre entier (integer ou int)
$jour = 34;
// Donnée de type décimal (float)
$prix = 25.35;
// Donnée de type chaîne de caractère (string)
$nom = "Jean Dupont";
// Donnée de type Vrai ou Faux (Boolean)
$actif = true;
// Donnée de type tableau de données
$couleurs = array("bleu", "vert", "rouge");
// Donnée sans valeur (null)
$score = null;
Pour afficher la valeur d'une variable dans une page html, on peut comme nous l'avons vu précédemment utiliser la fonction echo. Attention, certains types de variables comme les tableaux ou encore les objets ne peuvent pas être affichés avec la fonction echo. Dans ce cas, on utilisera les fonctions var_dump() ou encore print_r().
// Déclaration de la variable
$nom = "Jean Dupont";
// Affichage de la variable
echo $nom;
// Exemple pour un tableau
$tab = ["cerise", "abricot", "pêche"];
print_r($tab);
Convertir le type des données
Comme php est dynamiquement typé, on peut utiliser différentes fonctions natives du langage pour convertir le type de données, comme par exemple une chaîne de caractères en nombre décimal.
// La variable représente un nombre décimal mais est représenté en tant que chaîne de caractères
$a = "3.14";
// On peut changer le type de la variable pour que sa valeur représente réellement un nombre
$aFloat = floatval($a);
Fonctions de conversion
Il existe de nombreuses fonction de conversion des valeurs de variables :
- intval() : Converti une chaîne de caractères en un nombre entier.
- floatval(): Converti une chîne de caractères en nombre décimal.
- strval(): Converti un nombre en chaîne de caractères.
- bool(): Renvoi une valeur booléenne d'après la règle suivante, si la variable est une chaîne de caractères et qu'elle n'est pas vide, cette fonction renvoi true, si elle est vide false. Si la variable est un nombre est qu'il n'est pas égal à 0 alors la variable renvoi true, sinon false. Les tableaux qui ne sont pas vide renvoient true, à l'inverse s'ils sont vide alors false sera renvoyé.
Les "casts explicites"
Php permet également la possibilité d'utiliser ce que l'on appele des "casts explicites". En programmation, "caster" permet contrairement aux fonctions listées précédemment de changer temporairement le type de la valeur d'une variable sans pour autant changer sa valeur initial. Les "casts explicites" correspondants aux fonctions précedentes sont :
- (int)
- (float)
- (string)
- (bool)
Ci-dessous le code d'exemple d'un cast explicite sur un nombre décimal déclaré sous forme de chaîne de caractères et momentanément utilisé en tant que "vrai" nombre décimal à l'aide de cast (float)
// Nombre décimal déclaré sous forme de chaîne de caractère
$valeur1 = "5.76";
// Utilisation du cast explicite pour effectuer un calcul
$resultat = 10 + (float)$valeur1;
// Affichage du résultat
echo $resultat;
Tester
N'hésiter pas à télécharger le fichier exemple et de le modifier pour tester les différents points abordés.
Maintenant que l'on sait manipuler des variables, apprenons en un peu plus en abordant les opérateurs.
Tutos du jour
PhpMyAdmin - Les bases de données
phpMyAdmin est un outil d'administration de base de données pour MySQL et MariaDB.
Voir le tutoMySql - Les requêtes de base de données
Nous allons voir l'utilisation des requêtes SQL relatives à la création et la manipulation des bases de données.
Voir le tuto