Heim >Backend-Entwicklung >PHP-Tutorial >HTML-Formulare: Wann sollte ich `name='something[]'` vs. `name='something'` verwenden?
HTML-Element-Array: name="something[]" vs. name="something"
Wie in der bereitgestellten Dokumentation angegeben, using Klammern ([]) im Namensattribut eines HTML-Eingabeelements erstellen ein Array, auf das serverseitig in Sprachen wie PHP zugegriffen werden kann. Im Zusammenhang mit HTML-Formularen ist es jedoch wichtig, den Unterschied zwischen der Verwendung und Nichtverwendung von Klammern zu verstehen.
Wenn das Namensattribut eines Eingabeelements keine Klammern enthält, stellt es einen einzelnen Wert dar. Betrachten Sie beispielsweise die folgende Eingabe:
<input type="text" name="name">
Wenn dieses Formular gesendet wird, ist der Wert von $_POST['name'] eine Zeichenfolge, die die Eingaben des Benutzers enthält.
Jetzt Betrachten Sie die folgende Eingabe mit Klammern:
<input type="text" name="education[]">
In diesem Fall zeigen die eckigen Klammern an, dass die Eingabe Teil eines Arrays ist. Wenn das Formular gesendet wird, ist $_POST['education'] ein Array, das alle in den Eingaben eingegebenen Werte mit demselben Namen enthält. Zum Beispiel:
$educationValues = $_POST['education']; // Returns an array print_r($educationValues); // Shows you all the values in the array
Daher dienen die Klammern im Namensattribut als Möglichkeit, zusammengehörige Eingaben in einem Array zu gruppieren. Dies kann nützlich sein, um mehrere Werte für eine bestimmte Kategorie zu sammeln, z. B. die Ausbildung oder Hobbys des Benutzers.
Es ist jedoch wichtig zu beachten, dass HTML-Eingabeelemente auch ohne eckige Klammern nach Namen arrayfähig sind. Das heißt, wenn Sie mehrere Eingaben mit demselben Namen haben, gruppiert der Browser diese automatisch in einem Array, wenn das Formular gesendet wird.
<input type="text" name="education"> <input type="text" name="education"> <input type="text" name="education">
In diesem Fall wird $_POST['education'] weiterhin verwendet ein Array sein, das die in den drei Eingaben eingegebenen Werte enthält.
Der Unterschied zwischen der Verwendung von Klammern und der Nichtverwendung liegt in erster Linie in der semantischen Klarheit. Die Verwendung von Klammern weist explizit darauf hin, dass die Eingabe Teil eines Arrays ist, während das Weglassen von Klammern abhängig vom Kontext und der Anzahl der Eingaben mit demselben Namen entweder als einzelner Wert oder als Array interpretiert werden kann.
Das obige ist der detaillierte Inhalt vonHTML-Formulare: Wann sollte ich `name='something[]'` vs. `name='something'` verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!