4.3 Les variables
4 Référence
Manuel PHP
->Essentiel . Variables prédéfinies . Portée des variables . Les variables dynamiques . Variables externes à PHP
|
4.3.1 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 (i.e.
$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]*
'
Note |
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
).
|
Validité des noms de variables |
<?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 :
Assignation de référence |
<?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.
Assignation de référence et variables anonymes |
<?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. ?>
|
PHP
suit les conventions de Perl pour la gestion des opérateurs
arithmétiques, et non pas celles du langage C. Par exemple, en Perl
'Z'+1
devient
'AA'
, tandis que
en langage C
'Z'+1
devient
'['
(
ord('Z') == 90, ord('[') == 91
).
Opérations arithmétiques et caractères |
<?php $i = 'W'; for($n=0; $n<6; $n++) echo ++$i . "\n";
/* Affiche ceci :
X Y Z AA AB AC
*/ ?>
|
|