Я видел много PHP-кода, который обрабатывает ввод формы, в котором имена полей ввода содержат квадратные скобки. Я понимаю, что это как-то приводит к массивам PHP, когда PHP script анализирует переменную $_POST.
Пример HTML:
<form action='http://zzz.com' method='post'>
<input name='fruit[1]' value='apple' />
<input name='fruit[2]' value='banana' />
</form>
Пример URL:
http://zzz.com?fruit[1]=apple&fruit[2]=banana
Пример PHP:
assert($_POST['fruit'] === array(1=>'apple', 2=>'banana'));
Мои вопросы:
-
Каков механизм этого? В какой момент эти имена, содержащие скобки, преобразуются в массивы? Является ли это признаком протокола HTTP? Из веб-серверов? Из языка PHP?
-
Продолжая предыдущий вопрос, является ли это обычно используемым хаком или обычным программным инструментом?
-
Каковы (все) правила использования скобок в именах полей ввода?
-
Можно ли создать многомерные массивы таким образом?