Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich mehrdimensionale Arrays per POST in PHP effizient übermitteln und abrufen?

Wie kann ich mehrdimensionale Arrays per POST in PHP effizient übermitteln und abrufen?

DDD
Freigeben: 2024-12-03 16:37:16
Original
177 Leute haben es durchsucht

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

Senden mehrdimensionaler Arrays per POST mit PHP

In vielen Szenarien stoßen wir auf Formulare mit unterschiedlicher Anzahl von Zeilen und vordefinierten Spalten. Benutzer können nach Bedarf beliebig Zeilen hinzufügen. Es ist von entscheidender Bedeutung, zu verstehen, wie diese dynamischen Eingaben in einem verwendbaren Format erfasst werden.

Stellen Sie sich ein Formular mit Spalten für Produktattribute wie Durchmesser oben, Durchmesser unten, Stoff, Farbe und Menge vor. Während die Anzahl der Spalten konstant bleibt, ist die Anzahl der Zeilen dynamisch.

Erstellen des Formulars

Um eine dynamische Anzahl von Zeilen zu berücksichtigen, weisen wir jedem Feld in jeder Zeile mithilfe von eindeutige Namen zu Array-Index. Zum Beispiel:

<input name="topdiameter[0]" type="text">
Nach dem Login kopieren

Dies führt zu HTML, das so aussieht:


  <input name="topdiameter[0]" type="text">
Nach dem Login kopieren

Abrufen der Eingabedaten

Nach der Formularübermittlung sind die Eingabedaten über zugänglich das $_POST Superglobal. Es erscheint als Array von Arrays:

$_POST['topdiameter'] = array('first value', 'second value');
$_POST['bottomdiameter'] = array('first value', 'second value');
Nach dem Login kopieren

Verwendung eines mehrdimensionalen Arrays

Anstatt mehrere eindimensionale Arrays zu verwenden, ist es effizienter, ein einzelnes zweidimensionales Array zu verwenden. Um dies zu erreichen, ändern wir das Formularnamenformat:

name="diameters[0][top]"
name="diameters[0][bottom]"
name="diameters[1][top]"
name="diameters[1][bottom]"
...
Nach dem Login kopieren

Mit diesem überarbeiteten Format können wir die Werte jetzt einfach durchlaufen:

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>';
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich mehrdimensionale Arrays per POST in PHP effizient übermitteln und abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage