Maison >développement back-end >tutoriel php >Instructions pour ajouter l'esperluette lors de l'apprentissage de la boucle foreach en PHP

Instructions pour ajouter l'esperluette lors de l'apprentissage de la boucle foreach en PHP

little bottle
little bottleavant
2019-04-20 13:46:055169parcourir

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!

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