Retourner des références est toujours utile lorsque vous
voulez utiliser une fonction pour savoir à quoi est liée
une variable. Lorsque vous retournez une variable par paramètre,
utilisez le code suivant
<?php
function &find_var($param) {
// ...code...
return $found_var;
}
$foo =& find_var ($bar);
$foo->x = 2;
?>
Dans cet exemple, la propriété de l'objet est retournée
dans find_var et lui sera affectée, et non
pas à la copie, comme cela sera le cas avec une syntaxe par
référence.
Note :
Contrairement au passage de paramètre, vous devez utiliser
& aux deux endroits, à la fois pour
indiquer que vous retournez par référence (pas une
copie habituelle), et pour indiquer que vous assignez aussi par
référence (pas la copie habituelle).
@node language.references.unset , language.references.return, language.references.spot, Top
Lorsque vous détruisez une référence, vous ne
faites que casser le lien entre le nom de la variable et son contenu.
Cela ne signifie pas que le contenu est détruit. Par exemple,
<?php
$a = 1;
$b =& $a;
unset ($a);
?>
Cet exemple ne détruira pas $b, mais juste
$a.
Encore une fois, on peut comparer cette action avec la fonction
unlink d'Unix.