Maison > développement back-end > tutoriel php > Comment modifier les valeurs d'origine du tableau lors de l'utilisation de boucles foreach en PHP ?

Comment modifier les valeurs d'origine du tableau lors de l'utilisation de boucles foreach en PHP ?

Patricia Arquette
Libérer: 2024-12-10 15:53:08
original
818 Les gens l'ont consulté

How to Modify Original Array Values When Using foreach Loops in PHP?

Préserver les valeurs de tableau d'origine lors d'une itération avec foreach en PHP

Lorsque vous travaillez avec des tableaux multidimensionnels en PHP, il peut être difficile de modifier l'original tableau tout en le parcourant à l’aide de boucles foreach. Cette question approfondit ce problème, où le but est de changer la clé de valeur dans un tableau imbriqué.

Dans l'exemple donné, la modification du tableau d'origine à l'aide de $fields[$field]['value'] ne fonctionne comme prévu. Le problème se pose parce que les boucles foreach de PHP transmettent des valeurs par référence pour les tableaux (mais pas pour les objets). Cela signifie que les modifications apportées à la variable $field n'affecteront pas le tableau d'origine.

Pour résoudre ce problème, l'approche recommandée consiste à utiliser la clé du tableau pendant la boucle. Le code mis à jour fourni dans la réponse démontre ceci :

foreach ($fields as $key => $field) {
    if ($field['required'] &amp;&amp; strlen($_POST[$field['name']]) <= 0) {
        $fields[$key]['value'] = "Some error";
    }
}
Copier après la connexion

Dans ce code, $key représente la clé de l'élément actuel du tableau. En utilisant $fields[$key], nous accédons au tableau d'origine et modifions la valeur correcte. Cela garantit que les modifications apportées dans la boucle sont reflétées dans le tableau d'origine renvoyé par la fonction checkForm.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal