Maison > développement back-end > tutoriel php > Comment soumettre et récupérer efficacement des tableaux multidimensionnels via POST en PHP ?

Comment soumettre et récupérer efficacement des tableaux multidimensionnels via POST en PHP ?

DDD
Libérer: 2024-12-03 16:37:16
original
275 Les gens l'ont consulté

How to Efficiently Submit and Retrieve Multidimensional Arrays via POST in PHP?

Soumission de tableaux multidimensionnels via POST avec PHP

Dans de nombreux scénarios, nous rencontrons des formulaires avec un nombre variable de lignes et de colonnes prédéfinies. Les utilisateurs peuvent librement ajouter des lignes selon leurs besoins. Comprendre comment capturer ces entrées dynamiques dans un format utilisable est crucial.

Envisagez un formulaire avec des colonnes pour les attributs du produit tels que le diamètre supérieur, le diamètre inférieur, le tissu, la couleur et la quantité. Bien que le nombre de colonnes reste constant, le nombre de lignes est dynamique.

Construction du formulaire

Pour s'adapter à un nombre dynamique de lignes, nous attribuons des noms uniques à chaque champ de chaque ligne à l'aide d'un indice du tableau. Par exemple :

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

Cela donne un code HTML qui ressemble à ceci :


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

Récupération des données d'entrée

Lors de la soumission du formulaire, les données d'entrée sont accessibles via le superglobal $_POST. Il apparaît sous la forme d'un tableau de tableaux :

$_POST['topdiameter'] = array('first value', 'second value');
$_POST['bottomdiameter'] = array('first value', 'second value');
Copier après la connexion

Utilisation d'un tableau multidimensionnel

Plutôt que d'utiliser plusieurs tableaux unidimensionnels, il est plus efficace d'utiliser un seul tableau bidimensionnel. Pour y parvenir, nous modifions le format du nom du formulaire :

name="diameters[0][top]"
name="diameters[0][bottom]"
name="diameters[1][top]"
name="diameters[1][bottom]"
...
Copier après la connexion

Avec ce format révisé, nous pouvons désormais parcourir les valeurs facilement :

if (isset($_POST['diameters'])) {
    echo '<table>';
    foreach ($_POST['diameters'] as $diam) {
        // Here, $diam['top'] and $diam['bottom'] are accessible
        echo '<tr>';
        echo '  <td>', $diam['top'], '</td>';
        echo '  <td>', $diam['bottom'], '</td>';
        echo '</tr>';
    }
    echo '</table>';
}
Copier après la connexion

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