【发布时间】:2014-02-15 09:51:13
【问题描述】:
我有这个表格:
<form>
<select name="data[][]" multiple="multiple">
<option>1</option>
<option selected="selected">2</option>
</select>
<select name="data[][]" multiple="multiple">
<option selected="selected">3</option>
<option>4</option>
</select>
<select name="data[][]" multiple="multiple">
<option selected="selected">5</option>
<option selected="selected">6</option>
</select>
</form>
我想要这个:
$_POST['data'] = array(
0 => array(2),
1 => array(3),
2 => array(5,6)
);
我得到了这个:
$_POST['data'] = array(
0 => array(2),
1 => array(3),
2 => array(5),
3 => array(6)
);
解决方案是设置索引:name="data[0][]" 但我希望它自动完成..
有什么想法吗?
【问题讨论】:
-
你是如何生成表单的?
-
如果您不想一开始就设置索引,就不能指望它会神奇地出现…… PHP 不“知道”这是三个单独的选择框,它只看到它被传递的参数——如果这些都被命名为
data[][],那么你就不能期待其他结果了。 -
我认为 html 足够聪明,可以将每个多项选择分组到一个唯一索引中,但正如您所说,它是在 php 中完成的,所以我必须正确管理索引。谢谢!
标签: php arrays forms select option