Maison > développement back-end > tutoriel php > Comment puis-je modifier les valeurs originales du tableau à l'aide d'une boucle foreach en PHP ?

Comment puis-je modifier les valeurs originales du tableau à l'aide d'une boucle foreach en PHP ?

Linda Hamilton
Libérer: 2024-12-22 20:40:19
original
1012 Les gens l'ont consulté

How Can I Modify Original Array Values Using a foreach Loop in PHP?

Modification des valeurs de tableau d'origine à l'aide de la boucle foreach en PHP

Lorsque vous travaillez avec des tableaux en PHP, en particulier des tableaux multidimensionnels, l'accès et la modification de leurs éléments peuvent être délicat. Un défi courant survient lors de l'utilisation de boucles foreach pour parcourir des tableaux et mettre à jour leurs valeurs d'origine.

Dans ce cas, considérons un tableau $fields représentant les informations des champs de formulaire :

$fields = [
    "names" => [
        "type" => "text",
        "class" => "name",
        "name" => "name",
        "text_before" => "name",
        "value" => "",
        "required" => true,
    ]
];
Copier après la connexion

Maintenant, imaginez une fonction qui valide les champs, en définissant la clé "valeur" sur "Une erreur" si la saisie du formulaire correspondante est vide :

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

Le La ligne problématique est :

$fields[$field]['value'] = "Some error";
Copier après la connexion

Le but ici est de mettre à jour le tableau d'origine, mais il n'est pas immédiatement clair comment accéder à la clé du tableau (dans ce cas, "noms") dans la boucle.

Utiliser $key pour l'indexation du tableau d'origine

Une solution consiste à utiliser la variable $key disponible dans la boucle foreach. Il représente la clé de l'élément de tableau actuel en cours d'itération :

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

Cette approche utilise $field pour accéder aux valeurs du champ actuel et $fields[$key] pour manipuler le tableau d'origine, permettant une modification efficace. de la clé "valeur" de l'élément.

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