我有两个数组。一个用于输入框,另一个用于复选框。
inputbox []复选框[]
inputbox []复选框[] 。 。 。 。 提交按钮
当我填写复选框1并填写输入框1中的值并尝试提交时。 Foreach失败,因为它传递了输入框的所有索引,但只传递了复选框。
foreach(array_combine($checkbox, $inputbox) as $check => $input)
请告诉我该怎么办?
答案 0 :(得分:1)
迭代文本框(保证全部存在),然后获取相应的复选框(可能是ID,如果你之间有某种ID对应关系 - 你应该这样做。)
答案 1 :(得分:1)
如果您可以控制HTML表单,则可以按以下方式制作表单
<input type="text" name="name[1]" />
<input type="checkbox" name="check[1]" />
<input type="text" name="name[2]" />
<input type="checkbox" name="check[2]" />
<input type="text" name="name[3]" />
<input type="checkbox" name="check[3]" />
<input type="text" name="name[4]" />
<input type="checkbox" name="check[4]" />
在这种情况下,您将按以下方式获取post数组
Array
(
[name] => Array
(
[1] => Swapnil
[2] =>
[3] => Sarwe
[4] => Swapnil Sarwe
)
[check] => Array
(
[1] => on
[3] => on
)
)
现在你可以遍历名称(输入框),然后检查isset是否为isset($ _ POST ['check'] [$ key])并设置默认值