我想知道是否有可能在$ _POST中接收数组但是在html中有一个输入字段而没有使用ajax发送表单?
通常我会这样做
<input type="hidden" name="array[]" />
<input type="hidden" name="array[]" />
<input type="hidden" name="array[]" />
.............
我在想这样的事情
<input type="array" name="array" value="1,2,3,4" / >
答案 0 :(得分:1)
不,您需要explode()
值来获取数组:
$arrayOfInputs = explode(',', $_GET['array']);
答案 1 :(得分:0)
您必须以正常方式提交多个输入字段。但是,您可以使用JavaScript生成它们。
向表单添加一个on-submit处理程序,然后让JavaScript在提交之前将必要的输入元素附加到表单。
我会提供示例代码,但您没有指定 该数组的构建方式。
答案 2 :(得分:0)
您可以使用索引表示法
$_POST['array1'][0] //first element in the array
$_POST['array1'][1] // the second
$_POST['array1'][2] // the third
或者你可以使用循环
for ($i = 0, $l = count($_POST['array1']); $i < $l; $i++) {
doStuff($_POST['array1'][$i]);
}
答案 3 :(得分:0)
HTML不支持数组,因此HTML输入字段的所有值都是纯文本。所以首先你必须爆炸数组字段的值
$arrayOfInputs = explode(',', $_GET['array']);
并使用它们
echo $arrayOfInputs[0];
echo $arrayOfInputs[1];
echo $arrayOfInputs[2];
希望你能理解