[PhP] &$var vous connaissez ??

Résolu/Fermé
Utilisateur anonyme - 14 févr. 2006 à 12:52
 Utilisateur anonyme - 14 févr. 2006 à 14:13
Bonjour,

J'ai entendu dire que mettre & devant une variable lors d'un appel de fonction par exemple évitez les erreurs dans le cas d'absence de la variable en question ???

Est ce bien cela ??

Pour ne rien vous cacher, je suis en train de faire un script pour controlerun forumlaire avant enregistrement en base. (j'ai pas l'habitude de ce genre de script)
Et biensur je teste en ne remplissant pas tous les champs que je teste ... c'est pour tester alors biensur je fais des bêtise ... mais je ne veux pas voire la fameuse ligne
Notice: Undefined index: SERVICE in monDoc.php on line 51

Ce qui correspond à mon appel de fonction ...
Cette ligne apparait quand je ne met pas le & et quand je le met j'ai quelque chose comme
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in monDoc.php on line 51


Alors je n'ai peut être pas tout compris de ce qu'on m'a dit au sujet du &$ ...
Pourtant j'ai trouvé de la doc ... (http://www.nexen.net/index.php?option=com_nexen_v2&Itemid=232&lang=FR&nexen_url_type=intern&nexen_path=docs%252Fphp%252Fannotee%252Flanguage.variables.basics.php)
Mais quand je fais mon appel de fonction avec ca ne marche pas.
Vous feriez quoi, vous ??
Merci d'avance pour votre aide

3 réponses

dedale82 Messages postés 403 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 28 octobre 2008 282
14 févr. 2006 à 13:33
Salut,
le & permet de passer une variable par reference et non par valeur.
Si tu le passe par valeur, c'est une copie de ta variable qui est modifié au sein de ta fonction,
dans un passage par référence, c'est la variable elle même qui est modifiée.
A bientôt.
8
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 févr. 2006 à 13:35
Salut,

Tu confonds avec l'arobase '@' qui permet de ne pas afficher les erreurs produites par une fonction (peut être même par une variable).

Le '&' devant une variable, c'est l'opérateur de référence.
Par exemple:

$a= &$b;

ca signifie que $a est la même variable que $b.
2
Utilisateur anonyme
14 févr. 2006 à 14:13
Merci, j'ai plus d'erreurs ...
Merci ... Maintenant faut que je termine le script et j'ai plus d'escuse pour ne pas taffer :(
@ bientôt
1