Beim Senden von Formulardaten über eine POST-Anfrage in PHP kann es vorkommen, dass mehrere Eingabeelemente denselben Namen haben Attribut. Dies wirft die Frage auf:
Können Sie auf die Werte für alle Felder mit demselben Namen aus dem $_POST-Array zugreifen?
Die Antwort ist Nein. Nur das letzte Eingabeelement mit dem angegebenen Namen ist in $_POST verfügbar.
Um diese Einschränkung zu umgehen, sollten Sie name="foo[]" für das Eingabenamensattribut verwenden. Dies führt zu einem Array innerhalb von $_POST, das alle Werte der Eingabeelemente mit demselben Namen enthält. Zum Beispiel:
<form method="post"> <input name="a[]" value="foo"> <input name="a[]" value="bar"> <input name="a[]" value="baz"> <input type="submit"> </form>
In diesem Fall ist $_POST['a'] ein Array mit den Werten „foo“, „bar“ und „baz“.
Das ist Es ist wichtig zu beachten, dass die Verwendung von einfachen Namensattributen ohne [] nicht zum gewünschten Verhalten führt. Dies liegt daran, dass PHP vorhandene Werte in $_POST überschreibt, wenn auf wiederholte Namen gestoßen wird.
Wenn Sie dennoch auf Rohformulardaten zugreifen müssen, können Sie diese aus file_get_contents('php://input') extrahieren. Sie müssen diese Zeichenfolge jedoch manuell in ein Array analysieren.
Das obige ist der detaillierte Inhalt vonWie kann ich auf mehrere Formularfelder mit demselben Namen im $_POST-Array von PHP zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!