Temps de lecture approximative : 20 minutes

Les variables - PHP

En PHP, une variable est un conteneur qui va nous permettre de stocker des informations de différents types (texte, entier, booléen, etc.). Elles ne servent qu'à stocker des informations temporairement. En effet, elles n'existent que durant l'exécution du code PHP ; elles ne persistent pas dans le temps. Si on souhaite sauvegarder durablement des informations, il faut se tourner vers une autre méthode : base de données, fichiers, cookies par exemple. Cependant, la valeur d'une variable peut évoluer au fil de l'exécution d'un code PHP.

Créer ou déclarer une variable en PHP

Comme énoncé précédemment, une variable nous permet de stocker temporairement des informations. Chaque variable est identifiée au sein du code PHP par un nom unique. Cela permet de les distinguer les unes des autres et de les utiliser.

A l'instar des identifiants en HTML, on peut identifier nos variables avec n'importe quel nom. Cependant, il y a tout de même quelques règles à respecter. Ainsi, pour déclarer une variable en PHP, il faut préciser le signe $ (dollar) avant chaque nom de variable. Le nom ne doit pas contenir d'espace, ni de caractère spécial (-, !, %, etc.) hormis le _ (underscore). De plus, une variable peut seulement commencer par une lettre ou un underscore. Les chiffres sont autorisés mais pas en premier caractère.

<?php
   $test = 1;
   $_test = 2;
   $test_1 = 3;
?>

Comme énoncé dans le chapitre précédent, les noms de variables sont sensibles à la casse. Donc les variables $test, $TEST et $Test sont bien trois variables distinctes.

<?php
   $test = 1;
   $TEST = 2;
   $Test = 3;
?>

Pour essayer d'être un peu exhaustif, éviter des surprises désagréables et sans rentrer trop dans les détails techniques, il existe des noms réservés en PHP. En somme, il est impossible de déclarer des variables avec les noms réservés car le langage en a besoin pour fonctionner. La liste des mots clés réservés en PHP est disponible sur le site officiel.

Dans les premiers exemples ci-dessus, les variables sont accompagnées du signe = (égal) puis d'une valeur numérique. Focalisons-nous sur l'exemple ci-après pour expliquer le fonctionnement.

<?php
   $ville = 'Fontainebleau';
   $habitants = 14974;
?>

Dans l’exemple ci-dessus, nous avons créé deux variables : $ville et $habitants.
Dans la première variable, $ville, nous avons stocké la chaîne de caractères, le texte, Fontainebleau.
Tandis que dans la seconde variable, $ville, nous avons stocké la valeur numérique, 14974.

Pour stocker une chaîne de caractères ou un texte dans une variable il faut utiliser soit des guillemets (") soit des apostrophes ('). Il y a une différence entre les deux mais nous ne l'expliquerons pas dans ce cours. Considérons que c'est la même chose. Tandis que pour les valeurs numériques, il n'est pas nécessaire d'en ajouter.

Autre enseignement à tirer de cet exemple, le signe = (égal). En PHP, le signe égal est l'opérateur d'affectation le plus simple. Il permet donc d'affecter une valeur à une variable. Le signe égal n'est pas le seul opérateur d'affectation. Nous les aborderons plus tard dans le cours.

Pour le moment, nous stockons uniquement une valeur dans une variable, malheureusement si vous cherchez à afficher votre premier fichier PHP, rien ne s'affiche. Votre coeur battait peut-être la chamade, mais pas de panique, c'est normal.

Afficher le contenu d'une variable PHP

Les variables sont très importantes en PHP. On peut les manipuler pour de nombreux besoins mais le plus basique consiste à afficher la valeur d'une variable. Pour ce faire, il faut utiliser l'instruction echo. Elle est très simple à utiliser.

PHP
<?php
   $ville = 'Fontainebleau';
   echo $ville;
?>
Résultat
Fontainebleau

Modifier le contenu d'une variable PHP

Comme abordé précédement, la valeur d'une variable peut évoluer au fil de l'exécution du script PHP. Il est tout à fait possible d'affecter une nouvelle valeur à une variable déjà créée. Pour comprendre comment modifier une variable, prenons l'exemple ci-dessous :

PHP
<?php
   $habitants = 14974;
   echo $habitants;
   
   $habitants = 149;
   echo $habitants;
?>
Résultat
14974
149

Pour rappel, ou pas, un code PHP est interprété ligne par ligne, en commençant bien évidemment par la première ligne.

Dans l'exemple ci-dessus, la valeur 14974 est affectée dans un premier temps à la variable $habitants. Le contenu de cette variable est ensuite affiché à l'aide de l'instruction echo. Puis, on affecte une nouvelle valeur à la variable $habitants, à savoir 149, pour ensuite afficher de nouveau son contenu. On remarque que le contenu initial de la variable a tout simplement été écrasé par la deuxième affectation. C'est la méthode la plus simple pour modifier le contenu d'une variable.

La concaténation en PHP

Le terme concaténation en PHP désigne l'action de mettre bout à bout au moins deux chaînes de caractères. Dans les précédents paragraphes, nous avons vu comment afficher le contenu d'une variable. Cependant, il peut être pertinent de concaténer le contenu de deux variables. Nous aborderons seulement l'opérateur de concaténation suivant : . (point). Avec un exemple tout deviendra limpide.

PHP
<?php
   $intro = 'Hello ';
   $prenom = 'Bob';
   $titre = $intro.$prenom;
   echo $titre;
?>
Résultat
Hello Bob

Nous utilisons l'opérateur de concaténation le plus simple à comprendre : le . (point). Il permet donc de mettre bout à bout deux chaînes de caractères. En l'occurence, dans notre exemple, ces chaînes de caractères sont stockées dans des variables. Nous stockons donc dans la variable $titre, le résultat de la concaténation des variables $intro et $prenom.

L'affectation du résultat de la concaténation des variables $intro et $prenom dans la variable $titre, ne modifie pas les valeurs des variables $intro et $prenom.

On peut ajouter un espace avant et après le . (point), il n'y a pas d'impact. Il n'y a pas de limitation dans la concaténation des chaînes de caractères. On peut imaginer quelque chose d'un peu plus complexe.

PHP
<?php
   $intro = 'Hello ';
   $prenom = 'Bob';
   $fin = 'copain';
   $titre = $intro.$prenom.', tu veux être mon '.$fin.' ?';
   echo $titre;
?>
Résultat
Hello Bob, tu veux être mon copain ?

Les opérateurs arithmétiques en PHP

Avec les variables, il est possible de réaliser des opérations arithmétiques. On peut donc notamment additionner des variables. Le tableau ci-après regroupe les principales opérations ainsi que les opérateurs que nous utiliserons.

Opération Opérateur
Addition +
Soustraction -
Multiplication *
Division /

Sans plus attendre, un exemple parfait qui utilise la totalité des opérateurs du tableau.

PHP
<?php
   $a = 1;
   $b = 3;
   $a = $a + 2;
   $a = $a * $b;
   $a = $a - 1;
   $a = $a / 4;
   echo $a;
?>
Résultat
2

L'exemple ci-dessus commence par la déclaration de deux variables : $a et $b. La valeur de ces variables est respectivement de 1 et 3. Parcourons ensemble les lignes suivantes.
On stocke dans la variable $a, le résultat de l'addition de la valeur de la variable $a et du chiffre 2. Au moment de l'exécution de cette ligne, $a vaut 1. Suite à cette ligne, la variable va donc contenir le résultat de l'addition à savoir 3. Attention à ne pas être perturbé par le signe égal. En PHP, le signe égal est l'opérateur d'affectation et non pas d'une quelconque égalité.

Ensuite, on multiplie la variable $a par $b. On stocke donc dans la variable $a, le résultat de cette opération, à savoir 9. Puis on soustraie 1 à la valeur de la variable $a. La valeur de cette variable est donc de 8. Enfin, on divise la valeur de la variable $a par 4 et on affiche sa valeur. On obtient donc 2.

Quelle est la valeur de la variable $b après toutes ces opérations ? Toujours la même. Malgré toutes ces opérations, nous n'avons pas modifié la valeur de la variable $b. Elle est toujours de 3.

Les opérateurs d'incrémentation et de décrémentation en PHP

Derrière ces deux termes que vous n'avez peut-être jamais rencontrés de votre vie, se cachent des concepts encore une fois simples. Incrémenter une valeur signifie additionner 1 à cette dernière, tandis que décrémenter consiste à l'inverse, à savoir soustraire de 1. Le tableau ci-dessous précise les opérateurs pour ces deux opérations.

Opération Opérateur
Incrémenter ++
Décrémenter --
PHP
<?php
   $a = 9;
   $b = 2;
   $a++;
   $b--;
   echo 'La variable $a = '.$a.' et $b = '.$b.'.';
?>
Résultat
La variable $a = 10 et $b = 1.

Les types de variables

Nous l'avons vu au travers de nos différents exemples, les variables PHP peuvent stocker différents types de valeurs, comme une chaîne de caractères ou un nombre par exemple. On parle alors de type de variables. Le type d'une variable peut donc évoluer en fonction de sa valeur. Le typage des variables est implicite et dynamique en PHP. Il n’est donc pas nécessaire de déclarer leur type au préalable ni même de les initialiser avant leur utilisation, comme dans d'autres langages. Le PHP supporte et utilise de nombreux types de variables. Nous nous limeterons aux types décrits dans le tableau ci-après :

Type de variable Description Exemple
String Chaîne de caractères $a = 'Bonjour'; ou $a = "Bonjour";
Integer ou int Nombre entier $a = 19;
Float Nombre décimal $a = 15.5;
Boolean ou bool Vrai/Faux $a = true; ou $a = false;
Array Tableau $a = array(8, 16, 32);

Prenons le temps d'apporter quelques précisions sur les différents types de variables.
Le type string a été abordé à plusieurs reprises dans les exemples. Une variable de type string peut contenir n'importe quelle chaîne de caractères à condition de l'entourer soit par des guillemets (") soit par des apostrophes (').

Une variable de type integer est un nombre entier compris très exactement entre -2 147 483 648 et 2 147 483 647. Un nombre entier doit avoir au moins un chiffre et ne doit pas avoir de décimale. Un nombre entier peut être positif ou négatif.

Une variable de type float est tout simplement un nombre avec des décimales. Attention, le séparateur décimal est le . (point) et non la , (virgule).

Une variable de type boolean n'a que deux états possibles ; true ou false.

Le type array est particulier et assurément le plus complexe de ceux que nous utiliserons. Il fera l'objet d'un chapitre dédié. Une variable de type array stocke plusieurs valeurs dans une seule variable.

Étant donné qu'une variable peut évoluer au fil de l'exécution d'un code PHP, il existe des fonctions pour afficher la valeur et le type d'une variable. Nous utiliserons la fonction var_dump(). Tout de suite un exemple pour comprendre comment l'utiliser et voir ce qu'elle retourne.

PHP
<?php
   $a = 15;
   $b = 19.5;
   $c = 'Bonjour';
   $d = false;
   var_dump($a);
   var_dump($b);
   var_dump($c);
   var_dump($d);
?>
Résultat
int(15)
float(19.5)
string(7) "Bonjour"
bool(false)

Cette fonction est utile en débogage. Elle n'est pas utilisée pour afficher des informations aux utilisateurs mais seulement aux développeurs. Elle retourne donc dans un premier temps le type de la variable puis la valeur. Pour le type string, elle ajoute le nombre de caractères que contient la chaîne.

Sensibilité à la casse

Dans du texte, la casse (minuscule ou majuscule) des caractères peut parfois changer la signification. Les mots en lettres capitales n'ont pas toujours le même sens s'ils sont écrits en minuscules. Par exemple, Rennes est une ville mais rennes désigne des cervidés appelés caribous au Canada. En PHP, tous les mots-clés, comme echo, les classes, etc. ne sont PAS sensibles à la casse. Dans l'exemple ci-dessous, les trois lignes sont équivalentes.

<?php
   echo 'Bonjour';
   EcHo 'Bonjour';
   ECHO 'Bonjour';
?>

A l'inverse, les variables sont sensibles à la casse. Une différence dans les noms de variables s'avère être une erreur courante en développement.

<?php
   $color = 'red';
   echo 'Ma voiture est '.$color;
   echo 'Ma voiture est '.$COLOR;
   echo 'Ma voiture est '.$coLOR;
?>

Dans l'exemple ci-dessus, seule la première ligne fonctionne. En effet, les variables $COLOR et $coLOR ne sont pas déclarées dans le code ci-dessus.

Conclusion

Illustration d'un développeur qui découvre le PHP
Les variables en PHP, facile !

Ce chapitre est terminé. Vous avez désormais les bases sur le fonctionnement des variables en PHP. C'est un point essentiel et incontournable pour programmer en PHP. Avant de passer aux prochains chapitres, il est conseillé de maîtriser ce dernier. Vous pouvez pratiquer les exercices sur ce thème pour progresser et maîtriser davantage les rouages de cette notion clé.