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.2 Que font les références ?
Les références vous permettent de faire pointer
deux variables sur le même contenu. Par exemple, lorsque
vous faites :
cela signifie que
$a
et
$b
pointent sur la même variable.
Note |
$a
et
$b
sont complètement
égales ici : ce n'est pas
$a
qui pointe sur
$b
, ou vice versa. C'est bien
$a
et
$b
qui pointent sur le même contenu.
|
La même syntaxe peut être utilisée avec les fonctions qui
retournent des références, et avec l'opérateur
new
(PHP 4.0.4 et plus récent):
<?php $bar =& new fooclass(); $foo =& find_var ($bar); ?>
|
Note |
A moins d'utiliser la syntaxe ci-dessus, le résultat de
$bar = new fooclass()
ne sera pas la même
variable que
$this
dans le constructeur, ce qui
signifie que si vous avez utilisé la référence
$this
dans le constructeur, vous devez assigner la
référence, ou bien obtenir deux objets différents.
|
Le deuxième intérêt des références est de
pouvoir passer des variables par référence. On
réalise ceci en faisant pointer des variables locales vers
le contenu des variables de fonction. Exemple :
<?php function foo(&$var) { $var++; } $a=5; foo($a); ?>
|
$a
vaut 6. Cela provient du fait que dans la fonction
foo
, la variable
$var
pointe sur
le même contenu que
$a
. Voir aussi les explications
détaillées dans
passage par
référence .
Le troisième intérêt des références est de
retourner des valeurs par
référence .
|