In einem PHP-Formular kann es zu einem Problem kommen, bei dem mehrere Eingabefelder mit ähnlichen Namen erstellt werden eine arrayartige Struktur. Wenn Sie jedoch in PHP auf diese Werte zugreifen, stellen Sie möglicherweise fest, dass sie als einzelne Zeichenfolge ausgegeben werden. Dieser Artikel befasst sich mit diesem Problem und bietet eine Lösung zum Konvertieren des Eingabearrays in ein verwendbares PHP-Array.
Um das Problem zu veranschaulichen, betrachten Sie das folgende HTML-Formular:
<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[]" />
Wann dieses Formular vorliegt übermittelt, werden die entsprechenden PHP-Variablen als Arrays gefüllt:
$name = $_POST['name']; $email = $_POST['email'];
Wenn Sie jedoch versuchen, die Werte auszugeben, werden Sie feststellen, dass sie als einzelne Werte angezeigt werden string:
foreach ($name as $v) { print $v; } foreach ($email as $v) { print $v; }
name1name2name3email1email2email3
Um dieses Problem zu beheben, können Sie über beide Arrays iterieren und ihre entsprechenden Werte mithilfe einer Hilfsfunktion kombinieren:
foreach ($name as $key => $n) { print "The name is " . $n . " and email is " . $email[$key] . ", thank you\n"; }
Sie können dieses Muster erweitern auf Behandeln Sie zusätzliche Eingabefelder:
$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"; }
Mit dieser Lösung können Sie auf strukturierte und zugängliche Weise auf die Eingabewerte zugreifen und so eine weitere Verarbeitung oder Manipulation durchführen benötigt.
Das obige ist der detaillierte Inhalt vonWie behandelt man Array-ähnliche Formulareingaben in PHP richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!