Bonjour,
J'ai repris l'exemple du manuel php qui modifie les valeurs
d'un tableau durant un foreach en passant la référence du
tableau (&), ce qui permet de travailler sur le tableau
lui-même et non pas sur sa copie.
avec un print_r($arr) j'ai bien les résultats attendus:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $arr = array(1, 2, 3, 4); foreach($arr as &$value) $value = $value * 2;
mais là où ça me perturbe c'est lorsque je liste le tableau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
avec un foreach:
cela donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 foreach($arr as $value) echo $value." ";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 2 4 6 6
Après quelques essaies il s'avère qu'en changeant le nom de
la variable :
ça fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 foreach($arr as $val) echo $val." ";
Ce que je ne comprends plus c'est la portée d'une variable en PHP.
Normalement $value n'est accessible que dans le 1er bloc foreach non ?
Donc si je nomme ma variable $value dans le 2eme foreach il ne
devrait pas y avoir de pb.
Quelqu'un pourrait m'éclairer ?
Merci
Partager