Folgendes habe ich herausgefunden:
Das Senden von Formularfeldern mit mehreren Werten, dh das Senden von Arrays über GET / POST-Variablen, kann auf verschiedene Arten erfolgen, da ein Standard nicht unbedingt festgelegt ist.
Drei Möglichkeiten, mehrwertige Felder oder Arrays zu senden, sind:
?cars[]=Saab&cars[]=Audi
(Bester Weg - PHP liest dies in ein Array)
?cars=Saab&cars=Audi
(Schlechter Weg - PHP registriert nur den letzten Wert)
?cars=Saab,Audi
(Habe das nicht versucht)
Formularbeispiele
In einem Formular können mehrwertige Felder die Form eines Auswahlfelds haben, das auf mehrere festgelegt ist :
<form>
<select multiple="multiple" name="cars[]">
<option>Volvo</option>
<option>Saab</option>
<option>Mercedes</option>
</select>
</form>
(HINWEIS: In diesem Fall ist es wichtig, das Auswahlsteuerelement zu benennen some_name[]
, damit die resultierenden Anforderungsvariablen von PHP als Array registriert werden.)
... oder als mehrere versteckte Felder mit demselben Namen :
<input type="hidden" name="cars[]" value="Volvo">
<input type="hidden" name="cars[]" value="Saab">
<input type="hidden" name="cars[]" value="Mercedes">
HINWEIS: Die Verwendung field[]
für mehrere Werte ist wirklich schlecht dokumentiert. Ich sehe keine Erwähnung im Abschnitt über mehrwertige Schlüssel in der Abfragezeichenfolge - Wikipedia oder in den W3C-Dokumenten, die sich mit Mehrfachauswahl-Eingaben befassen.
AKTUALISIEREN
Wie Kommentatoren hervorgehoben haben, ist dies sehr rahmenspezifisch. Einige Beispiele:
Abfragezeichenfolge:
?list_a=1&list_a=2&list_a=3&list_b[]=1&list_b[]=2&list_b[]=3&list_c=1,2,3
Schienen:
"list_a": "3",
"list_b":[
"1",
"2",
"3"
],
"list_c": "1,2,3"
Winkel:
"list_a": [
"1",
"2",
"3"
],
"list_b[]": [
"1",
"2",
"3"
],
"list_c": "1,2,3"
(Angular Diskussion )
Beispiele finden Sie in den Kommentaren in node.js , Wordpress , ASP.net
Reihenfolge beibehalten:
Eine weitere zu berücksichtigende Sache ist, dass Sie, wenn Sie die Reihenfolge Ihrer Elemente (dh das Array als geordnete Liste) beibehalten müssen , nur eine Option haben, bei der eine begrenzte Werteliste übergeben und explizit in konvertiert wird ein Array selbst.