Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

PHP - Les variables

Variables en Php Encyclopédie


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 Nom de variable incorrect Raison
$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

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

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
\\ barre oblique inverse (antislash)
\r retour chariot
\n retour à la ligne
\t tabulation

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 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).

Trucs & astuces pertinents trouvés dans la base de connaissances

28/01 09h50 Comment récupérer le résultat d'une commande dans une variable (Bash)
01/01 03h06 Notice: Undefined index: (Langages)
29/12 16h39 Afficher facilement le code php/xhtml de vos pages (Webmaster)
28/12 00h03 Récupérer login et mot de passe passés par un .htaccess (PHP)
08/12 22h42 Les ressemblances à ne pas confondre (PHP)
02/12 16h02 Vérifier une adresse électronique (format du mail) (PHP)
22/11 23h51 Rediriger sur une autre page (redirection) (PHP)
18/11 01h10 Fonction mail() (PHP)
17/11 11h21 Tester une variable numérique (Shell)
13/11 20h06 La variable d'environnement PATH (Bash)
PHP variables Plus d'astuces sur « PHP variables »

Discussions pertinentes trouvées dans le forum

07/02 20h46 php session variable [php]session..ou mettre la variable??? Développement 02/01 20h02->maxime_B19
25/10 09h37 php boucle for nom variable [PHP] Boucle for et nom de variable ! Développement 25/10 10h39->kij_8218
28/12 17h00 php utilisation variable [Php] Utilisation de variable Développement 29/12 17h10->ZIG116
29/03 10h24 passage variable url php 4.3.10 Passage de variable par URL PHP 4.3.10 Webmastering 18/04 17h40->ric8
15/06 10h14 variable php requete mysql variable php dans requete mysql Webmastering 20/06 10h28->nonoleharicot8
11/08 13h30 php variable tableau [PHP] variable de recherche dans un tableau Développement 11/08 17h16->Riwalenn8
20/05 22h25 php mysql transmission variable [php/mysql] transmission variable Webmastering 21/05 13h27->Wurs6
16/02 08h04 php variable sql Php variable et sql Webmastering 16/02 18h03->ad_creative4
06/10 19h59 php opérateur variable [PHP] Opérateur = variable Webmastering 07/10 16h44->Thom@s4
07/12 12h48 php manipulation variable Php manipulation de variable Webmastering 07/12 14h17->ZIG14
Discussion fermée Problème résolu PHP variables Plus de discussions sur « PHP variables »

Ce document intitulé « PHP - Les variables » issu de l'encyclopédie informatique Comment Ça Marche (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.