Bonsoir,
Je viens juste de me confronter à quelque chose d'incompréhensible concernant foreach.
Selon le manuel PHP:
Et ben pas chez moi !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $arr = array(1, 2, 3, 4); foreach ($arr as $value) { $value = $value * 2; } // $arr vaut maintenant array(2, 4, 6, 8) unset($value); // Détruit la référence sur le dernier élément
Si je fais un var_dump($arr); le tableau est toujours égale à
Je n'arrive pas à comprendre ce comportement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 array 0 => int 1 1 => int 2 2 => int 3 3 => int 4
Il n'y a que si je met $value en référence ($arr as &$value) que
j'ai bien le résultat attendu sauf que à l'affichage du var_dump
j'ai un & à la dernière valeur
Est ce que quelqu'un pourrait m'expliquer ce mystère ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 array 0 => int 2 1 => int 4 2 => int 6 3 => &int 8
Merci d'avance.
Partager