Bonsoir,

Je viens juste de me confronter à quelque chose d'incompréhensible concernant foreach.
Selon le manuel PHP:
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
Et ben pas chez moi !
Si je fais un var_dump($arr); le tableau est toujours égale à
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
Je n'arrive pas à comprendre ce comportement.
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
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
Est ce que quelqu'un pourrait m'expliquer ce mystère ?

Merci d'avance.