Home >Backend Development >PHP Tutorial >How Do Square Brackets in HTML Input Names Create PHP Arrays?

How Do Square Brackets in HTML Input Names Create PHP Arrays?

DDD
DDDOriginal
2024-12-24 10:29:261006browse

How Do Square Brackets in HTML Input Names Create PHP Arrays?

HTML Input Arrays: A PHP Convenience

Despite appearing in HTML code, the use of square brackets ([] after an input name is not part of the HTML specification. This feature is a PHP implementation that allows for the creation of form fields that submit their values as arrays.

Understanding the Syntax

The input elements are created in HTML with the following syntax:

<input name="foo[]" ... >

Here, the name attribute is followed by a pair of square brackets.

PHP Array Processing

When the form is submitted, PHP will parse these fields into an array. This means that multiple fields with the same name will be stored in an array element, with the index corresponding to the order of the fields in the form.

For example, consider the following input fields:

<input type="checkbox" name="food[]" value="apple" />
<input type="checkbox" name="food[]" value="pear" />

When submitted, $_POST['food'] will be an array containing the values "apple" and "pear". You can access individual values using numeric indices, e.g., $_POST'food' to get "apple".

To iterate through all selected values, you can use a foreach loop:

foreach( $_POST['food'] as $value ) {
    print $value;
}

Conclusion

The use of square brackets in HTML input names is not a feature of the HTML specification but rather a PHP convenience that allows for easy creation and processing of form data as arrays.

The above is the detailed content of How Do Square Brackets in HTML Input Names Create PHP Arrays?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn