Le langage PHP
Les variables

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 :
o des scalaires (variables normales).
o des tableaux.
o des 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 au préalable. 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.


 

Définition 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 variables peut comporter des lettres, des chiffres et le caractère _ (les espaces ne sont, bien entendu, pas autorisés !).

Quelques exemples :

Nom de variable correct
$Variable
$Nom_De_Variable
$nom_de_variable
$nom_de_variable_123
$nom_2_variable

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

Les noms de variables sont sensibles à la casse (PHP fait la différence entre majuscules et minuscules), il faut donc veiller à utiliser des noms comportant la même casse !


 

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).
  • Chaînes de caractères : suite 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).
  • Chaînes de caractères : ensembles de caractères entre guillemets simples ou doubles.
Instruction Type de la variable
$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

Exemple :

<?php
$a = 1;
$b = 3.34;
$c = "Le monde entier";
echo $a,"<br>",$b,"<br>",$c;
?>
  

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.

Caractère Description
\" guillemet
\' apostrophe
\\ barre oblique inverse (backslash)
\r retour chariot
\n retour à la ligne
\t tabulation

D'une part, 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 repris par le code du langage PHP comme \ et " ne peuvent pas faire partie d'une chaîne de caractère, pour des raisons évidente d'ambiguïté.


 

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, 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".Ce sont les variables tableaux. 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] = "Bonjour";

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. Le code précédent est équivalent à :

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

 
Il est important de noter que :
- les indices de tableau commencent à zéro.
- tous les types de variables peuvent être contenus dans un tableau.

Une autre façon de créer un tableau est de passer par l'élément du langage PHP, array().

<?php
$Tableau = array(12,"Bonjour");
?>


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 souhaitée). Par exemple, un tableau à deux dimensions pourra être déclaré comme suit :

$Tableau[0][0] = 12;
$Tableau[0][1] = "lehtml";
$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 facile à utiliser.

$Auteur["Nom"] = "Van Lancker";
$Auteur["Prenom"] = "Luc";
$Auteur["Code_Postal"] = 7700;


Ou avec array() :

<?php
$Auteur = array(Nom=>"Van Lancker",Prenom=>"Luc",Code_Postal=>7700);
?>


 

Portée (visibilité) des variables

Selon l'endroit où on déclare une variable, celle-ci pourra être accessible (visible par PHP) partout dans le code ou bien uniquement dans une portion confinée de celui-ci (à l'intérieur d'une fonction par exemple), on parle alors de la portée (ou la 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'instruction, elle est accessible de partout dans le code (n'importe quelle fonction du programme peut faire appel à cette variable). On parle alors de 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. 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).