4.10 Les références
4 Référence
Manuel PHP
. Qu'est ce qu'une référence? . Que font les références ? . Ce que les références ne sont pas ->Passage par référence . Retourner des références . Détruire une référence . Repérer une référence
|
4.10.4 Passage par référence
Vous pouvez passer des variables par référence, de
manière à ce que la fonction modifie ses arguments. La
syntaxe est la suivante :
<?php function foo(&$var) { $var++; } $a=5; foo ($a); // $a vaut 6 maintenant ?>
|
Notez qu'il n'y a pas de signe de référence dans l'appel de la
fonction, uniquement sur sa définition. La définition de la
fonction est suffisante pour passer correctement des arguments par
référence.
Les objets suivants peuvent être passés par
référence :
-
Une variable, i.e.
foo($a)
-
Un nouvel objet, i.e.
foo(new foobar())
-
Une référence, retournée par une fonction :
<?php function &bar() { $a = 5; return $a; } foo(bar()); ?>
|
Voir aussi des détails dans
retourner des
références .
Toutes les autres expressions ne doivent pas être passées par
référence, car le résultat sera indéfini. Par
exemple, les passages par référence suivants sont invalides :
<?php function bar() // Notez l'absence de & { $a = 5; return $a; } foo(bar); foo($a = 5) // Expression, pas une variable foo(5) // Constante, pas une variable ?>
|
Ces fonctionnalités sont valables à partir de PHP 4.0.4.
|