PHP - Les variables

Décembre 2016

Concept de variable avec PHP


Une variable est un objet repéré par son nom, pouvant contenir des données,
qui pourront être modifiées lors de l'exécution du programme. Les variables en langage
PHP peuvent être de trois types :

  • scalaires
  • tableaux
  • tableaux associatifs


Quelque soit le type de variable, son nom doit obligatoirement être précédé

du caractère dollar ($). Contrairement à de nombreux langages de programmation, comme
le langage C, les variables en PHP n'ont pas besoin d'être déclarées, c'est-à-dire
que l'on peut commencer à les utiliser sans en avoir averti l'interpréteur précédemment,
ainsi si la variable existait précédemment, son contenu est utilisé, sinon l'interpréteur
lui affectera la valeur en lui assignant 0 par défaut. De cette façon si vous ajoutez 3 à

une nouvelle variable (non définie plus haut dans le code), sa valeur sera 3...

Nommage des variables


Avec PHP, les noms de variables doivent répondre à certains critères :

  • un nom de variable doit commencer par une lettre (majuscule ou minuscule) ou un "_" (pas par un chiffre)
  • un nom de variable peut comporter des lettres, des chiffres et le caractère _ (les espaces

ne sont pas autorisés!)




Nom de variable correct<b> <b>Nom de variable incorrect<b> <b>Raison<b>
$Variable$Nom de Variable comporte des espaces
$Nom_De_Variable$123Nom_De_Variable commence par un chiffre
$nom_de_variable$toto@mailcity.com caractère spécial @
$nom_de_variable_123$Nom-de-variable signe - interdit
$nom_de_variablenom_de_variable ne commence pas par $




Les noms de variables sont sensibles à la casse (le langage PHP fait la différence entre
un nom en majuscule et un nom en minuscules), il faut donc veiller à

utiliser des noms comportant la même casse! Toutefois, les noms de fonctions font exception
à cette règle...

Variables scalaires


Le langage PHP propose trois types de variables scalaires :

  • entiers: nombres naturels sans décimale (sans virgule)
  • réels: nombres décimaux (on parle généralement de type double, car il s'agit de nombre décimaux à double précision)
  • chaines de caractères: ensembles de caractères


Il n'est pas nécessaire en PHP de typer les variables, c'est-à-dire de définir leur type, il suffit
de leur assigner une valeur pour en définir le type :
  • entiers: nombre sans virgule
  • réels: nombres avec une virgule (en réalité un point)
  • chaines de caractères: ensembles de caractères entre guillemets simples ou doubles





<b>Instruction<b> <b>Type de la variable<b>
$Variable = 0;type entier
$Variable = 12;type entier
$Variable = 0.0;type réel
$Variable = 12.0;type réel
$Variable = "0.0";type chaîne
$Variable = "Bonjour tout le monde";type chaîne




Il existe des caractères repérés par un code ASCII

spécial permettant d'effectuer des opérations particulières.
Ces caractères peuvent être représentés
plus simplement en langage PHP grâce au caractère '\' suivi d'une lettre, qui précise
qu'il s'agit d'un caractère de contrôle :



<b>Caractère<b> <b>Description<b>
"guillemet
\\barre oblique inverse (antislash)
\rretour chariot
\nretour à la ligne
\ttabulation




En effet, certains de ces caractères ne pourraient pas être représentés
autrement (un retour à la ligne ne peut pas être représenté

à l'écran). D'autre part, les caractères \ et " ne peuvent pas faire partie en tant que tel
d'une chaîne de caractère, pour des raisons évidente d'ambiguité...

Variables tableaux


Les variables, telles que nous les avons vues, ne permettent de stocker qu'une seule
donnée à la fois. Or, pour de nombreuses données, comme cela est souvent
le cas, des variables distinctes seraient beaucoup trop lourdes à gérer.
Heureusement, PHP propose des structures de données permettant de stocker
l'ensemble de ces données dans une "variable commune". Ainsi, pour accéder
à ces valeurs il suffit de parcourir la variable de type complexe composée
de « variables » de type simple.


Les tableaux stockent des données sous forme de liste. Les données contenues dans
la liste sont accessibles grâce à un index (un numéro représentant
l'élément de la liste). Contrairement à des langages tels que le langage C,
il est possible de stocker des éléments de types différents dans un même tableau.


Ainsi, pour désigner un élément de tableau, il suffit de faire suivre au nom du tableau
l'indice de l'élément entre crochets :

$Tableau[0] = 12;
$Tableau[1] = "CCM";




Avec PHP, il n'est pas nécessaire de préciser la valeur de l'index lorsque l'on veut
remplir un tableau, car il assigne la valeur 0 au premier élément (si le tableau est vide)
et incrémente les indices suivants. De cette façon, il est facile de remplir un tableau
avec des valeurs. Le code précédent est équivalent à:

$Tableau[] = 12;
$Tableau[] = "CCM";




  • Les indices de tableau commencent à zéro
  • tous les types de variables peuvent être contenus dans un tableau


Lorsqu'un tableau contient d'autres tableaux, on parle de tableaux multidimensionnels.
Il est possible de créer directement des tableaux multidimensionnels en utilisant
plusieurs paires de crochets pour les index (autant de paires de crochets que la dimension
voulue). Par exemple, un tableau à deux dimensions pourra être déclaré

comme suit :

$Tableau[0][0] = 12;
$Tableau[0][1] = "CCM";
$Tableau[1][0] = 1245.652;
$Tableau[1][1] = "Au revoir";

Variables tableaux associatifs


PHP permet l'utilisation de chaînes de caractères au lieu de simples entiers
pour définir les indices d'un tableau, on parle alors de tableaux associatifs.
Cette façon de nommer les indices peut parfois être plus agréable à utiliser :

$Toto["Age"] = 12;
$Toto["Adresse"] = "22 rue des bois fleuris";
$Toto["Nom"] = "Ah, vous auriez bien aimé
connaître le nom de famille de Toto...";

Portée (visibilité) des variables


Selon l'endroit où on déclare une variable, celle-ci pourra être accessible (visible) de partout
dans le code ou bien que dans une portion confinée de celui-ci (à l'intérieur d'une fonction par exemple), on parle de portée

(ou visibilité) d'une variable.


Lorsqu'une variable est déclarée dans le code même, c'est-à-dire à l'extérieur de toute fonction ou de
tout bloc d'instructions,
elle est accessible de partout dans le code (n'importe quelle fonction du programme peut faire appel à cette variable). On parle
alors de <b>variable globale



Lorsque l'on déclare une variable à l'intérieur d'un bloc d'instructions (entre des accolades), sa portée
se confine à l'intérieur du bloc dans lequel elle est déclarée.

  • Une variable déclarée au début du code, c'est-à-dire avant tout bloc de donnée, sera globale, on pourra alors les utiliser à partir de n'importe quel bloc d'instructions
  • Une variable déclarée à l'intérieur d'un bloc d'instructions (dans une fonction ou une boucle par exemple) aura une portée limitée à ce seul bloc d'instructions, c'est-à-dire qu'elle est inutilisable ailleurs,

on parle alors de variable locale



D'une manière générale il est préférable de donner
des noms différents aux variables locales et globales pour des raisons de lisibilité

et de compréhension du code.

Définition de constantes


Une constante est une variable dont la valeur est inchangeable lors de l'exécution
d'un programme. Avec PHP, les constantes sont définies grâce à la
fonction define().
la syntaxe de la fonction define() est la suivante :





define("Nom_de_la_variable", Valeur);




Le nom d'une constante définie à l'aide de la fonction define() ne doit
pas commencer par le caractère $ (de cette façon aucune affectation n'est possible).


A voir également :

Ce document intitulé «  PHP - Les variables  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.