其实我正在研究教育管理系统,但我坚持下去。
<select name="teachers[]" multiple="multiple" class="chosen-select input-xlarge">
<option value="1">option1</option>
<option value="2">option2</option>
</select>
<select name="teachers[]" multiple="multiple" class="chosen-select input-xlarge">
<option value="1">option1</option>
<option value="2">option2</option>
</select>
我使用的是倍数时间,但在提交后输出看起来像这样
[teachers] => Array
(
[0] => 1
[1] => 2
[2] => 1
[3] => 2
)
但我需要这样的输出
[teachers] => Array
(
[0] => Array
(
[0] => 1
[1] => 2
)
[1] => Array
(
[0] => 1
[1] => 2
)
)
答案 0 :(得分:3)
您可以通过在表单中使用多维数组并为第一个维度设置固定值来实现此目的。
<select name="teachers[0][]" multiple="multiple" class="chosen-select input-xlarge">
<option value="1">option1</option>
<option value="2">option2</option>
</select>
<select name="teachers[1][]" multiple="multiple" class="chosen-select input-xlarge">
<option value="1">option1</option>
<option value="2">option2</option>
</select>
x[]
背后的概念是:使x
成为一个数组并将每个选定的值添加到其中。因此,在第一种情况下使用x[0][]
变为:使x[0]
成为一个数组并将每个选定的值添加到其中。在第二种情况下,它是:使x[1]
成为一个数组,并将选定的值添加到其中 - 从而产生所需的输出。
但是,如果您使用x[][]
,这将导致每个选定的项目都是自己的数组,对于每个项目,将创建一个新数组。