Le contenu principal de cet article concerne les instructions pour ajouter le symbole & dans la boucle foreach de PHP. Les amis intéressés peuvent en savoir plus.
Ajoutez l'esperluette lorsque foreach : Changez le tableau d'origine pendant le parcours, c'est-à-dire modifiez les données ou ajoutez des données.
$arr = ['a', 'b', 'c']; foreach ($arr as $key => &$value) { $value = $value . '111'; } echo json_encode($arr); // ["a111","b111","c111"],这里改变了原来数组的值
Utilisation et problèmes possibles :
$arr = ['a', 'b', 'c']; foreach ($arr as $key => &$value) { $value = $value . '111'; } foreach ($arr as $key => $value) { $value = $value . '222'; } echo json_encode($arr); // ["a111","b111","b111222222"]
Cela est dû au fait que la valeur de $value n'est pas libérée après le passage par référence d'affectation, cela affectera donc l'utilisation du deuxième foreach. Vous pouvez utiliser unset($value) pour libérer des variables.
$arr = ['a', 'b', 'c']; foreach ($arr as $key => &$value) { $value = $value . '111'; } unset($value); // 释放$value的引用传递 foreach ($arr as $key => $value) { $value = $value . '222'; } echo json_encode($arr); // ["a111","b111","c111"]
Cours 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!