Maison > développement back-end > Problème PHP > Comment utiliser foreach pour modifier un tableau en php

Comment utiliser foreach pour modifier un tableau en php

藏色散人
Libérer: 2023-03-06 12:48:01
original
2718 Les gens l'ont consulté

Comment modifier le tableau avec php foreach : Créez d'abord un exemple de fichier PHP ; puis modifiez le tableau spécifié via l'instruction foreach "foreach($array as $k => $v){$v = 1 ;}" La valeur est suffisante.

Comment utiliser foreach pour modifier un tableau en php

Recommandé : "Tutoriel vidéo PHP"

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

Tournez la page foreach de la documentation PHP et elle indique :

"La structure syntaxique foreach fournit un moyen simple de parcourir les tableaux. foreach ne peut être appliqué qu'aux tableaux et aux objets. Si vous essayez de l'appliquer à d'autres types de données. Les variables non initialisées émettront un message d'erreur. 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é à chaque fois dans la boucle. de la cellule actuelle est affecté à $value. Le pointeur à l'intérieur du tableau est avancé d'un pas (donc l'élément suivant sera obtenu dans la boucle suivante

Le deuxième format fait la même chose, sauf que). le nom de clé de l'élément actuel est également mis à jour à chaque boucle. est attribué à la variable $key "

Ensuite, "le premier format parcourt le tableau array_expression donné. la valeur de la cellule actuelle est affectée à $value et le tableau avance d'un pas (la cellule 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. 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 soit copié comme $v, la valeur de $k copiée 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.

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