在隐藏的HTML输入字段中使用方括号

Ari*_*iod 8 html php

我正在分析其他人的PHP代码,我注意到输入HTML有许多隐藏的输入字段,其名称以'[]'结尾,例如:

<input type="hidden" name="ORDER_VALUE[]" value="34" />
<input type="hidden" name="ORDER_VALUE[]" value="17" />
Run Code Online (Sandbox Code Playgroud)

处理此输入的PHP页面获取每个值,如下所示:

foreach ($_REQUEST["ORDER_VALUE"] as $order_value) {
    /...
}
Run Code Online (Sandbox Code Playgroud)

什么是'[]'用于?指定会有多个具有相同名称的输入字段?

Rya*_*sen 14

它将数据作为数组传递给PHP.当您具有相同名称的HTML表单时,它将附加到逗号列表中,如复选框列表.这里有PHP处理将其转换为基于[]的PHP数组,如下所示:

要将结果作为数组发送到PHP脚本,请将这些或类似的元素命名为:

<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
Run Code Online (Sandbox Code Playgroud)

注意变量名后的方括号,这就是使它成为数组的原因.您可以通过为不同的元素指定相同的名称将元素分组到不同的数组中:

<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyOtherArray[]" />
<input name="MyOtherArray[]" />
Run Code Online (Sandbox Code Playgroud)

这会产生两个数组,MyArray和MyOtherArray,它们被发送到PHP脚本.也可以为阵列分配特定的键:

<input name="AnotherArray[]" />
<input name="AnotherArray[]" />
<input name="AnotherArray[email]" />
<input name="AnotherArray[phone]" />
Run Code Online (Sandbox Code Playgroud)

http://us2.php.net/manual/en/faq.html.php


Mat*_*ves 11

是.基本上PHP会知道将所有具有相同名称的值粘贴到数组中.

顺便说一下,这适用于所有输入字段,而不仅仅是隐藏字段.