I\'ve seen a lot of PHP code that handles form input in which the input field names contain square brackets. I understand that this somehow results in PHP arrays when a PHP
To my knowledge, this is a mechanism of PHP internally seeing (and parsing) elements passed via form (GET/POST) with the []
postfix and interpreting them as an array of elements. The HTTP protocol doesn't care, it merely passes the element's name with it's associated value in the query string.
It's been a normal programming tool as far back as I can remember (I think I even remember it more commonly used for multi-file uploads back when you had "add file" links that appended another element to the form, using the same name (with []
) as the previous.)
The same rules that apply in PHP apply in the form. You can use []
to auto-index the elements (for generic lists) or explicitly list them using element IDs (e.g. file[1], file[2], etc. (following my previous example))
Yes, multi-dimensional arrays can be used.
For more information, check out PHP's very own _POST documentation (especially the comments)