Bonjour à tous,

je viens à votre rencontre, car je n'arrive pas à comprendre la portion de code ci-dessous.
Ce code n'a aucun but en soi, je ne cherche pas à le faire fonctionner dans un script mais à comprendre l'interprétation faite par le moteur PHP.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
$a = array(1,2,3);
foreach($a as $k => &$v) { }
foreach($a as $k => $v) { }
 
print_r($a); 
 
Array
(
    [0] => 1
    [1] => 2
    [2] => 2
)
 
// 1,2,2 et non 1,2,3 alors qu'aucune action dans le foreach n'est faite
Je comprends bien que la référence joue un rôle dans le changement des valeurs du tableau, mais je ne vois pas comment, pourriez-vous m'expliquer ce qu'il se passe.

Merci d'avance pour votre explication.