Maison >développement back-end >tutoriel php >Que se passe-t-il lors de l'utilisation de variables de référence dans une boucle PHP Foreach ?
Variable de référence en PHP Foreach
Dans le code donné, le problème survient en raison de l'utilisation de variables de référence dans la première boucle foreach. Voici une explication :
$a = ['zero', 'one', 'two', 'three']; foreach ($a as &$v) { // $v is a reference to the current array element } foreach ($a as $v) { echo $v . PHP_EOL; }
En PHP, les variables peuvent être des variables normales ou de référence. Les variables normales contiennent la valeur des données, tandis que les variables de référence pointent vers l'emplacement des données.
Dans la première boucle, nous avons $v = &$a[0]; par conséquent, $v devient une référence au premier élément du tableau, « zéro ». Cela signifie que toute modification apportée à $v sera reflétée dans $a[0], et vice versa.
Maintenant, dans la deuxième boucle, nous avons $v = 'two'. Puisque $v est une variable de référence, cette opération modifie également l'élément correspondant dans le tableau, $a[3].
Enfin, dans la deuxième boucle foreach, lorsque nous parcourons chaque élément, nous voyons le résultat :
Cela démontre l'impact de l'utilisation de variables de référence dans une boucle foreach, conduisant à la répétition de la dernière valeur mise à jour dans la première boucle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!