输入数组

2022-08-30 10:04:28
<input name="foo[]" ... >

我以前用过这些,但我想知道它叫什么,是否有规范?

我在HTML 4.01 Spec中找不到它,并且导致各种Google结果仅将其称为“数组”以及许多处理表单数据的PHP示例。


答案 1

它只是PHP,而不是HTML。

它将所有带有 [] 的 HTML 字段解析为一个数组。

所以你可以有

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

提交后,PHP将使$_POST['food']成为一个数组,您可以像这样访问其元素:

echo $_POST['food'][0]; // would output first checkbox selected

或查看所有选定的值:

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

无论如何,不要以为它有一个具体的名字


答案 2

据我所知,HTML规范上没有任何内容,因为浏览器不应该对这些字段做任何不同的事情。他们只是像往常一样发送它们,PHP是将解析为数组的人,就像其他语言一样。