$v){$v = 1;}"."/> $v){$v = 1;}".">

Maison  >  Article  >  développement back-end  >  Comment utiliser foreach pour modifier un tableau en php

Comment utiliser foreach pour modifier un tableau en php

藏色散人
藏色散人original
2020-10-06 13:55:512598parcourir

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

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;
}

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;
}

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); // 最后取消掉引用

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!

Déclaration:
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