Maison >développement back-end >tutoriel php >Comment puis-je récupérer efficacement les entrées d'un formulaire HTML sous forme de tableaux imbriqués en PHP en utilisant des noms d'entrée entre crochets ?

Comment puis-je récupérer efficacement les entrées d'un formulaire HTML sous forme de tableaux imbriqués en PHP en utilisant des noms d'entrée entre crochets ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-05 17:53:151022parcourir

How can I effectively retrieve HTML form input as nested arrays in PHP using bracketed input names?

Saisie de formulaire sous forme de tableau en HTML et PHP

Dans les formulaires HTML, vous pouvez représenter les champs de saisie au format tableau en incorporant des crochets ([]) dans l'attribut de nom d'entrée . Cette approche devient particulièrement utile lorsque vous disposez de plusieurs entrées du même type et que vous souhaitez capturer leurs valeurs de manière structurée.

Énoncé du problème

Considérez la structure de formulaire suivante :

<form>
    <input type="text" name="levels[level]">
    <input type="text" name="levels[build_time]">

    <input type="text" name="levels[level]">
    <input type="text" name="levels[build_time]">
</form>

Le but est de récupérer les valeurs d'entrée sous forme de tableau en PHP, organisé comme suit :

Array (
  [1] => Array ( [level] => 1 [build_time] => 123 )
  [2] => Array ( [level] => 2 [build_time] => 456 )
)

Solution

Pour y parvenir, ajoutez simplement des parenthèses aux noms des entrées :

<input type="text" name="levels[level][]">
<input type="text" name="levels[build_time][]">

Ce changement permet à PHP de regrouper automatiquement les entrées par parenthèses , générant la structure de tableau souhaitée.

Dépannage

Sortie initiale Problème :

[levels] => Array (
  [0] => Array ( [level] => 1 )
  [1] => Array ( [build_time] => 234 )
  [2] => Array ( [level] => 2 )
  [3] => Array ( [build_time] => 456 )
)

Solution : Assurez-vous que les crochets sont placés à la fin de l'attribut de nom d'entrée :

<input type="text" name="levels[level][]">
<input type="text" name="levels[build_time][]">

Cela créera des tableaux séparés pour le niveau et build_time.

Exemple Utilisation :

$levels = $_POST['levels'];

echo $levels['level'][0]; // Output: 1
echo $levels['build_time'][0]; // Output: 123

Conclusion

En utilisant des crochets dans les noms d'entrée, vous pouvez facilement créer des tableaux en PHP qui reflètent la structure de votre formulaire HTML. Cela simplifie la récupération et la gestion des données.

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