Les variables est l’un des premiers sujets que l’on doit apprendre en PHP et plus généralement dans n’importe quel langage de programmation. Dans ce chapitre nous allons aborder cette question ainsi que les différents types de données que l’on peut rencontre en PHP.

Qu’est-ce qu’une variable ?

Pour faire simple une variable est un nom qui fait référence et qui permet d’accéder à des données (stockées). Techniquement, une variable pointe vers un emplacement mémoire où les données sont stockées. Les variables sont utilisées dans les langages de programmation pour donner un nom à ces données, à cet emplacement mémoire, afin de comprendre plus facilement ce qu’elles contiennent. Au final, ce sont ces données qui seront utilisées pour obtenir les résultats du programme.

D’autre part, un type de données est la caractéristique d’une donnée stockée. C’est-à-dire, s’il s’agit d’une forme concrète, numérique, alphanumérique, etc. Tous les langages typifient les données d’une manière ou d’une autre, bien que certains soient plus permissifs que d’autres lorsqu’ils effectuent des opérations avec des variables de types différents.

Nommer ou créer une variable en PHP

Dans le chapitre précédent, nous avons déjà pu voir que pour PHP, les variables étaient définies en commençant toujours par le symbole dollar ($). C’est peut-être l’une des caractéristiques les plus fortes de ce langage. Quand vous voyez le dollar au début du nom d’une variable, vous pouvez rapidement déduire que ce code est écrit en PHP.

Les variables doivent avoir un nom le plus descriptif possible de ce qu’elles stockent. Si votre variable stocke le montant total d’une commande, nommez là $total. Un jour (il y a longtemps) je suis tombé sur un script où beaucoup de variables étaient du type $plouf, $pouet, $lol… Je vous assure que pour maintenir ce genre de chose il faut s’accrocher.

Types de données en PHP

Selon l’information qu’elle contient, une variable peut être considérée d’un type ou d’un autre :

Variables numériques

Ce type de variable stocke des chiffres, des nombres, qui peuvent avoir deux classifications différentes :

Variables alphanumériques

Ce type de données stocke les textes composés, les chaînes de caractères, qui peuvent contenir des lettres, des symboles ainsi que des chiffres.

Booléens

Ce type de variable stocke une valeur logique, qui peut être vraie ou fausse. Ce type de variables booléennes est très courant dans la programmation.

Matrices, tableaux

Il s’agit d’un type de données dans lequel, au lieu d’avoir des données, nous pouvons en stocker un ensemble, auquel nous avons accès par le biais d’index. Chacune des cases d’un tableau ou les données de notre matrice stockent à leur tour des informations numériques et/ou alphanumériques, pouvant mélanger des types de variables de manière arbitraire entre ses différentes cases.

Pour expliquer un tableau, je fais souvent l’analogie avec une commode. La commode est le tableau. Cette commode a plusieurs tiroirs. Chaque tiroir est un index. On pourrait imaginer qu’un des tiroirs comporte plusieurs petites cases pour un rangement plus précis.

Si l’on prend l’exemple d’une commode à trois tiroirs. Un pour les pulls, un pour les pantalons et un dernier pour les sous-vêtements que l’on catégorisera. Dans cet exemple je ne cherche qu’a stocker le nombre de pulls, pantalons que j’ai chaque tiroir. Voici comment je pourrais l’écrire en php.

 

Je vous montre ici juste la base des tableaux pour en comprendre le principe. On verra plus tard dans un autre chapitre plus en détail cette partie.

Objets

Ce sont des ensembles de variables et de fonctions associées. Elles sont plus complexes que les variables vues jusqu’à présent, mais leur utilité est plus qu’intéressante. Nous entrerons dans le détail des objets plus tard, car leur complexité rend difficile de les expliquer maintenant.

Typage de donnée dynamique en PHP

Contrairement à d’autres langages, PHP a une grande flexibilité lorsqu’il fonctionne avec des variables. En effet, lorsque l’on définit une variable en lui attribuant une valeur, l’ordinateur lui attribue un type. Si, par exemple, nous définissons une variable entre guillemets, la variable sera considérée comme une chaîne de caractères (string in english 😉 ) :

Cependant, si nous demandons dans notre script d’effectuer une opération mathématique avec cette variable, nous n’obtiendrons pas de message d’erreur, mais la variable chaîne sera assimilée comme une variable de nombre (PHP fera tout son possible pour interpréter notre opération, bien que techniquement il ne soit pas très logique de faire certaines opérations) :

Cette addition vous donnera le nombre suivant : 1 335 000. La chaîne de variables a été assimilée en entier (bien que son type soit toujours une chaîne) afin d’effectuer l’opération mathématique. De la même manière, nous pouvons opérer entre des variables entières et décimales. Nous n’avons pas à nous soucier de quoi que ce soit, PHP prend en charge lors de l’exécution l’interprétation du type de variable nécessaire au bon fonctionnement du programme. Cependant, je ne peux que vous conseiller de faire attention lorsque vous créez vos programmes de faire un minimum attention. Il est plus facile de maintenir un script où tout est clair. Et il est plus facile de comprendre qu’une variable est un nombre quand on écrit $nombre = 8; que $nombre = « 8 »;

PHP est sensible à la casse

PHP comprend différemment les majuscules et les minuscules. Dans le cas du nom que nous donnons à une variable, ce n’est pas la même chose de l’écrire en majuscules ou en minuscules, ou de mélanger différemment majuscules et minuscules. Par conséquent, vous devez être très prudent lorsque vous écrivez des noms de variables, et ne pas changer les majuscules en minuscules, car PHP comprendra deux variables différentes bien que les noms sont semblables. $variable n’est donc pas égale à $VARIABLE. Au début, je ne peux que vous conseiller de donner des noms en minuscule à vos variables. Vous vous éviterez des prises de têtes à essayer de trouver des erreurs.

Dans le cas où nous avons une variable avec un nom composé de plusieurs mots, en PHP c’est une pratique courante de mettre la variable en minuscules et de séparer les mots par des tirets.

Une façon courante d’écrire ses variables en PHP est d’utilisé la méthode camel case. Camel, car cette méthode fait référence à au chameau et ces deux bosses. Le but est de mettre en majuscule la première lettre de chaque mot dans le but de la rendre plus lisible.

Exemple : J’ai des variables qui stockent le prénom des personnes de ma famille. Pour m’y retrouver plus facilement je pourrais écrire les variables de cette façon :

Variables assignées par référence

En PHP, nous pouvons aussi assigner des variables par référence (c’est peu utilisé). Dans ce cas, on ne leur attribue pas une valeur, mais une autre variable, de sorte que les deux variables partagent l’espace mémoire pour les mêmes données.

La notation à assigner par référence est de placer un & ; avant le nom de la variable.

Ceci aura pour résultat le double affichage de la chaîne de caractères « Bonjour Pierre », l’un sous l’autre grâce au </br>.