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

Comment modifier la valeur du tableau en php foreach

藏色散人
Libérer: 2023-03-03 15:20:02
original
4494 Les gens l'ont consulté

Comment modifier la valeur du tableau dans php foreach : Créez d'abord un exemple de fichier de code PHP ; puis transmettez "foreach($array as $k => $v){ $array[$k] = 1; }" Méthode pour modifier la valeur du tableau.

Comment modifier la valeur du tableau en php foreach

Recommandé : "Tutoriel vidéo PHP"

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

Tournez-vous vers la page foreach de la documentation PHP et il est indiqué :

"La structure de syntaxe foreach fournit un moyen simple de parcourir les tableaux. foreach ne peut être appliqué que aux tableaux et aux objets. Si vous essayez Appliqué à des variables d'autres types de données, ou à des variables non initialisées, 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 traverse le tableau array_expression donné dans chaque boucle et est affecté à $value et. le pointeur interne du tableau est avancé d'un pas (la cellule suivante sera donc obtenue dans la boucle suivante)

Le deuxième format fait la même chose, sauf le nom de la clé de la cellule actuelle. être attribué à la variable $key dans chaque boucle. "

Ensuite, "le premier format parcourt le tableau array_expression donné Dans chaque boucle, la valeur de la cellule actuelle est attribuée à. $value et le pointeur à l'intérieur du tableau avance d'un pas (l'élément suivant sera donc obtenu 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