Manuel PHP

Table des matières

Préface
I. Au moment de commencer
II. Installation et configuration
III. Référence du langage
IV. Sécurité
V. Caractéristiques
VI. Référence des fonctions
VII. PHP et le moteur interne Zend
VIII. FAQ : foire Aux Questions
IX. Annexes
Remerciements



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. Retournez uniquement des références lorsque vous avez techniquement une bonne raison de le faire ! Pour retourner des références, utilisez cette syntaxe :

Exemple 21-11. 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”.

Travail collaboratif

Contribuez, en ajjoutant des elements a cette page de manuel :

Merci de votre aide
L’equipe Php.fr

 


Index | Afficher le texte source | Anciennes révisions | Derniers changements | Connexion
©2007 Wiki Copyright