Bonjour
j'ai mis les pieds dans les references, et transmission de variables.
L'idée c'est de partir d'une meme fonction et de transmettre les variables de 4 manieres differentes, reference de valeur, reference de fonction, globale, simple return.
Mais je suis pas vraiement sur d'avoir tout compris de ce qu'il se passe reelement.
donc voila ce que j'ai fait, j'ai commenté ce que je crois avoir compris.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 //passer une variable par reference (&) function incrementer2(&$valeur)//$valeur devient reference de $a, donc $valeur devient $a. { $valeur = $valeur + 1;// équivaut à $a=$a+1, $valeur reste sur une portée locale. } $a = 1; incrementer2($a); echo $a."<br />"; // affiche "2"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // sans reference avec un return function incrementer3($valeur)//$valeur recupere la valeur de $a soit 1 { $valeur = $valeur + 1; // equivaut à $valeur = $valeur + 1 return $valeur; } $a = 1; $a = incrementer3($a);// soit $a = le retour de la valeur de $valeur, echo $a."<br />"; // affiche "2", $valeur reste locale.
Bon alors les suivantes franchement je sais pas comment les prendre :
oui oui c'est exactement la meme que sans &, mais je vois pas comment ca peut fonctionner autrement, help !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // retour de variable par reference function &incrementer5($valeur)// { $valeur = $valeur + 1; // return $valeur; } $a = 1; $a = &incrementer5($a);// echo $a."<br />"; //
et euh pour la globale mon echec est total, l'ex suivant ne marche pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // avec une globale march epas function incrementer4($valeur)// { global $valeur; $valeur = $valeur + 1; // } $a = 1; incrementer4($a);// $a=$valeur; echo $a."<br />"; //
voila , c'est le brouillard total, on se croirait sur la tamise![]()







Répondre avec citation
Partager