Heim >Backend-Entwicklung >PHP-Tutorial >So behandeln Sie HTML-Formulareingaben als Array von Ebenen mit
HTML-Formulareingabe als Array
Das bereitgestellte Formular soll ein Array von Ebenen erfassen, wobei jede Ebene aus einem Titel und einem Build besteht Zeit. Die gewünschte Ausgabe ist ein Array, bei dem jede Ebene durch ihren Titel und ihre Erstellungszeit dargestellt wird, wie im bereitgestellten Beispiel gezeigt.
Vorgeschlagene Lösung:
Um die gewünschte Ausgabe zu erreichen , ändern Sie die Eingabenamen leicht:
<input type="text" class="form-control" placeholder="Titel" name="levels[level][]"> <input type="text" class="form-control" placeholder="Titel" name="levels[build_time][]">
Das Hinzufügen der eckigen Klammern am Ende der Namen teilt PHP mit, dass die Eingabe als Array behandelt werden soll. Anschließend füllt PHP beim Absenden des Formulars automatisch ein Array namens „levels“ mit Unterarrays für „level“ und „build_time“.
Verwendung dynamischer Elemente:
If Da die Formularelemente dynamisch hinzugefügt werden, kann die Verwendung einer Schleife den Prozess vereinfachen. Der folgende Codeausschnitt zeigt, wie dynamische Eingabeelemente mit den entsprechenden Array-Namen hinzugefügt werden:
for ($i = 0; $i < $numLevels; $i++) { echo '<input type="text" class="form-control" placeholder="Titel" name="levels[level][]">'; echo '<input type="text" class="form-control" placeholder="Titel" name="levels[build_time][]">'; }
Mit dieser Methode organisiert PHP die Eingabe automatisch in einer Array-Struktur, ohne dass eine manuelle Indizierung erforderlich ist.
Zusätzliche Hinweise:
Entfernen Sie im bearbeiteten HTML die ursprünglichen Klammern um „level“ und „build_time“ in die Eingabenamen. Dies führt zu einer Array-Struktur, in der jeder Index in den Arrays „level“ und „build_time“ derselben Ebene entspricht.
Das obige ist der detaillierte Inhalt vonSo behandeln Sie HTML-Formulareingaben als Array von Ebenen mit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!