Maison > développement back-end > Problème PHP > Comment modifier la valeur en php foreach

Comment modifier la valeur en php foreach

藏色散人
Libérer: 2023-03-12 13:04:02
original
2307 Les gens l'ont consulté

Comment modifier la valeur de php foreach : 1. Créez un exemple de fichier PHP ; 2. Modifiez-le via "foreach($array as $k => $v){$v = 1;}".

Comment modifier la valeur en php foreach

L'environnement d'exploitation de cet article : système windows7, version PHP7.1, ordinateur DELL G3

Comment modifier la valeur de php foreach ?

Le problème de l'utilisation de foreach pour modifier la valeur d'un tableau

Tournez-vous vers la page foreach de la documentation PHP et écrivez ceci :

"La structure syntaxique foreach fournit un moyen simple de parcourir le tableau. foreach peut ne doit être appliqué qu'aux tableaux et aux objets, si vous essayez de l'appliquer à des variables d'autres types de données ou à des variables non initialisées, un message d'erreur sera émis. Il existe deux syntaxes :

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement
Copier après la connexion

Le premier format parcourt le tableau array_expression donné. temps dans la boucle, la valeur de la cellule actuelle est utilisée et le pointeur à l'intérieur du tableau avance d'un pas (la cellule suivante sera donc obtenue dans la boucle suivante)

Le deuxième format fait la même chose. , sauf que le nom de la clé de la cellule actuelle est également mis à jour à chaque fois. La variable $key est assignée dans la boucle "

Alors" le premier format parcourt le tableau array_expression donné dans chaque boucle. la cellule actuelle est affectée à $value et le pointeur à l'intérieur du tableau avance d'un pas (l'unité suivante sera donc obtenue dans la boucle suivante) "Qu'est-ce que cela signifie ? Cela signifie que l'utilisation de foreach pour parcourir un tableau opère sur une copie du tableau spécifié, et non sur le tableau lui-même. Tout comme avoir un clone de vous, peu importe la façon dont les autres vous frappent ou lui donnent des coups de pied, cela n'aura aucun effet sur vous.

Par exemple :

foreach($array as $k => $v){
  $v = 1;
}
Copier après la connexion

Une telle méthode de modification ne modifie pas $array lui-même, mais modifie un tableau qu'il copie. Bien que ce soit le même, ce n'est pas $array. Elle n'a donc aucun impact sur $array.

Alors que faire ? Pour ce faire :

foreach($array as $k => $v){
  $array[$k] = 1;
}
Copier après la connexion

Bien que $k et $v soient également copiés, la valeur du $k copié est toujours la même que la valeur de $k dans le tableau d'origine, donc cela réussira.

Il existe également une méthode plus avancée : vous pouvez facilement modifier les éléments du tableau en ajoutant & avant $v. Cette méthode attribue par référence plutôt que de copier une valeur. Par exemple :

foreach($array as &$v){
  $v = 1;
}
unset($v); // 最后取消掉引用
Copier après la connexion

Ce sera un succès.

Apprentissage recommandé : "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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal