Chapitre 8. Les variables

Table des matières
Essentiel
Variables prédéfinies
Missing title
Portée des variables
Les variables dynamiques
Variables externes à PHP

Essentiel

En PHP , les variables sont représentées par un signe dollar " $ " suivi du nom de la variable . Le nom est sensible à la casse ( ie : $x != $X ) .

Les noms de variables suivent les mêmes règles de nommage que les autres entités PHP . Un nom de variable valide doit commencer par une lettre ou un souligné ( _ ) , suivi de lettres , chiffres ou soulignés . Exprimé sous la forme d' une expression régulière , cela donne : '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* '

Dans nos propos , une lettre peut être une des lettres minuscules ( a à z ) ou majuscules (A à Z) , et les caractères ASCII de 127 à 255 (0x7f-0xff ) .

 
?php

 
$var

 
=

 
"

 
Jean"

 
;

 
$Var

 
=

 
"Paul"

 
;

 
echo

 
"$var

 
,

 
$Var"

 
;

 
/

 
/

 
affiche

 
"Jean

 
,

 
Paul

 
"

 
$4site

 
=

 
'pas

 
encore'

 
;

 
/

 
/

 
invalide

 
:

 
commence

 
par

 
un

 
nombre

 
$_4site

 
=

 
'pas

 
encore'

 
;

 
/

 
/

 
valide

 
:

 
commence

 
par

 
un

 
souligné

 
$maïs

 
=

 
'jaune'

 
;

 
/

 
/

 
valide

 
;

 


 
'

 
est

 
ASCII

 
239

 
.

 
?





En PHP 3 , les variables sont toujours assignées par valeur . C' est-à-dire , lorsque vous assignez une expression à une variable , la valeur de l 'expression est recopiée dans la variable . Cela signifie , par exemple , qu' après avoir assigné la valeur d'une variable à une autre , modifier l'une des variables n'aura pas d'effet sur l 'autre . Pour plus de détails sur ce genre d ' assignation , reportez-vous à Expressions .

PHP 4 permet aussi d ' assigner les valeurs aux variables par référence . Cela signifie que la nouvelle variable ne fait que référencer ( en d'autres terme , "devient un alias de" , ou encore "pointe sur" ) la variable originale . Les modifications de la nouvelle variable affecteront l ' ancienne , et vice versa . Cela signifie aussi qu' aucune copie n'est faite : l 'assignation est donc beaucoup plus rapide . Cela se fera notamment sentir dans des boucles , ou lors d' assignation de grands objets (tableaux ) .

Pour assigner par référence , ajoutez simplement un ( ET commercial ) au début de la variable qui est assignée (la variable source ) . Dans l' exemple suivant , " Mon nom est Pierre " s 'affichera deux fois :

 
?php

 
$foo

 
=

 
'

 
Pierre'

 
;

 
/

 
/

 
Assigne

 
la

 
valeur

 
'Pierre

 
'

 
à

 
$foo

 
$bar

 
=

 
$foo

 
;

 
/

 
/

 
Référence

 
$foo

 
avec

 
$bar

 
.

 
$bar

 
=

 
"Mon

 
nom

 
est

 
Pierre"

 
;

 
/

 
/

 
Modifie

 
$bar..

 
.

 
echo

 
$foo

 
;

 
/

 
/

 
$foo

 
est

 
aussi

 
modifiée

 
echo

 
$bar

 
;

 
?





Une chose importante à noter est que seules les variables nommées peuvent être assignées par référence .

 
?php

 
$foo

 
=

 
25

 
;

 
$bar

 
=

 
$foo

 
;

 
/

 
/

 
assignation

 
valide

 
.

 
$bar

 
=

 
(24

 
*

 
7)

 
;

 
/

 
/

 
assignation

 
invalide

 
:

 
référence

 
une

 
expression

 
sans

 
nom

 
function

 
test(

 
)

 
{

 
return

 
25

 
;

 
}

 
$bar

 
=

 
test()

 
;

 
/

 
/

 
assignation

 
invalide

 
.

 
?