 |
|
Sommaire
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
|
4.8.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.
|
|
 |
 |