Passage par référence
<<<
Retourner des références Détruire une référence
>>>

4.10 Les références
4 Référence du langage
 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.5 Retourner des références

Retourner des références est toujours utile lorsque vous voulez utiliser une fonction pour savoir à quoi est liée une variable. N'utilisez pas le retour par référence pour améliorer les performances, le moteur est suffisamment robuste pour optimiser cela en interne. Retourner uniquement des références lorsque vous avez techniquement une bonne raison de le faire ! Pour retourner des références, utilisez cette syntaxe :
Retourner des références

<?php
function &find_var($param) {
  
/*  ...code... */
  
return $found_var;
}
$foo =& find_var ($bar);
$foo->x = 2;
?>
Dans cet exemple, on affecte une valeur à la propriété de l'objet retourné par la fonction find_var , et non à sa copie, comme ce serait le cas si on n'avait pas utilisé la syntaxe de 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).

Note

Si vous tentez de retourner une référence depuis une fonction avec la syntaxe : return ($found_var); , cela ne fonctionnera pas comme vous l'attendez et retournera le résultat de l' expression , mais pas de la variable, par référence. Vous ne pouvez retourner des variables par référence que depuis une fonction - rien d'autre. L'erreur E_NOTICE est envoyée depuis PHP 4.4.0 et PHP 5.1.0 si le code tente de retourner une expression dynamique ou un résultat de l'opérateur new .

<< Retourner des références >>
Passage par référence Les références Détruire une référence