|
|
Les références
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
Références globales
$this
|
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 :
@itemize @bullet
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.
|
|
|
|