Maison  >  Article  >  développement back-end  >  [PHP] Problèmes d'affectation de référence dans la boucle foreach

[PHP] Problèmes d'affectation de référence dans la boucle foreach

little bottle
little bottleavant
2019-04-17 13:20:313288parcourir

foreach($arr as &$value)
1. Le symbole d'affectation de référence & transforme l'élément actuel en adresse à chaque fois qu'il boucle. La variable $value est l'adresse de l'élément correspondant à la fin de. la boucle, $value est une adresse pointant vers le dernier élément
2. Lorsque je bouclerai la prochaine fois et que j'utiliserai cette méthode foreach($arr comme $value), il y aura un problème, foreach attribuera chaque élément au suivant ; $value variable
3. Par conséquent, la logique devient, modifiez chaque élément au dernier élément du tableau d'origine, et la dernière boucle sera toujours le résultat de la précédente
4. par référence, utilisez ce formulaire $arr[$key] Changez le tableau d'origine ou changez le nom de la variable dans la boucle suivante


$nums=array(1,2,3);
foreach($nums as &$v){
        var_dump($v);
}
/*
int(1)
int(2)
int(3)
*/
var_dump($nums);
/*
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  &int(3)
}
*/
foreach($nums as $v){
        var_dump($v);
}
/*
int(1)
int(2)
int(2)
*/

[Tutoriels associés : Tutoriel vidéo PHP 】 

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer