从复选框发布多维数组

时间:2012-09-19 11:03:37

标签: php html multidimensional-array

我已经看过几个关于从复选框发布数组的问题,但是我没有看到任何试图做我想做的事情。

我有一个复选框列表,用于提交从数据库的foreach数据循环中填充的数据。

<input type="checkbox" name="phonelist[]" value="<?=strtoupper($device['id']);?>"/>

这就是我目前为复选框电话列表返回多个项目的方式。如何在复选框的相同值部分中添加另一个值,但在多维数组中的不同项下? e.g

<input type="checkbox" name="phonelist[][]" value="<?=strtoupper($device['id']);?><?=strtoupper($device['another value']);?>"/>

我知道我的“Psuedocode”是错误的,但我希望它能够实现我希望实现的目标。

2 个答案:

答案 0 :(得分:5)

是的,为每个部分添加ID:

<input type="checkbox" name="phonelist[0][]" value="<?=strtoupper($device['id']);?><?=strtoupper($device['another value']);?>"/>
<input type="checkbox" name="phonelist[0][]" value="<?=strtoupper($device['id']);?><?=strtoupper($device['another value']);?>"/>
<input type="checkbox" name="phonelist[1][]" value="<?=strtoupper($device['id']);?><?=strtoupper($device['another value']);?>"/>
<input type="checkbox" name="phonelist[1][]" value="<?=strtoupper($device['id']);?><?=strtoupper($device['another value']);?>"/>

答案 1 :(得分:3)

我认为你最好这样做:

<input type="checkbox" name="phonelist[<?=strtoupper($device['id']);?>]" value="<?=strtoupper($device['id']);?>"/>

然后

<input type="checkbox" name="phonelist[<?=strtoupper($device['id']);?>][<?=strtoupper($device['another value']);?>]" value="<?=strtoupper($device['id']).strtoupper($device['another value']);?>"/>

因此,您仍然可以foreach $_POST['phonelist']但保留参考值。