Maison > développement back-end > tutoriel php > Comment gérer correctement les entrées de formulaire de type tableau en PHP ?

Comment gérer correctement les entrées de formulaire de type tableau en PHP ?

Linda Hamilton
Libérer: 2024-12-31 21:25:11
original
741 Les gens l'ont consulté

How to Properly Handle Array-Like Form Inputs in PHP?

Comment convertir un tableau de saisie de formulaire en tableau PHP

Dans un formulaire PHP, vous pouvez rencontrer un problème où vous avez plusieurs champs de saisie avec des noms similaires, créant une structure en forme de tableau. Cependant, lorsque vous accédez à ces valeurs en PHP, vous remarquerez peut-être qu'elles sont affichées sous la forme d'une seule chaîne. Cet article résout ce problème et propose une solution pour convertir le tableau d'entrée en un tableau PHP utilisable.

Pour illustrer le problème, considérez le formulaire HTML suivant :

<input type="text" name="name[]" />
<input type="text" name="email[]" />

<input type="text" name="name[]" />
<input type="text" name="email[]" />

<input type="text" name="name[]" />
<input type="text" name="email[]" />
Copier après la connexion

Lorsque ce formulaire est soumis, les variables PHP correspondantes sont renseignées sous forme de tableaux :

$name = $_POST['name'];
$email = $_POST['email'];
Copier après la connexion

Cependant, lorsque vous essayez d'afficher les valeurs, vous remarquerez qu'elles sont affichées comme un seul string :

foreach ($name as $v) {
    print $v;
}

foreach ($email as $v) {
    print $v;
}
Copier après la connexion
name1name2name3email1email2email3
Copier après la connexion

Pour résoudre ce problème, vous pouvez parcourir les deux tableaux et combiner leurs valeurs correspondantes à l'aide d'une fonction d'assistance :

foreach ($name as $key => $n) {
    print "The name is " . $n . " and email is " . $email[$key] . ", thank you\n";
}
Copier après la connexion

Vous pouvez étendre ce modèle à gérer des champs de saisie supplémentaires :

$location = $_POST['location'];

foreach ($name as $key => $n) {
    print "The name is " . $n . ", email is " . $email[$key] . ", and location is " . $location[$key] . ". Thank you\n";
}
Copier après la connexion

Cette solution vous permet d'accéder aux valeurs de saisie de manière structurée et accessible, vous permettant d'effectuer un traitement ou une manipulation ultérieurs comme nécessaire.

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