两个阵列的Foreach循环?

时间:2012-05-17 06:36:01

标签: php

我有两个数组。一个用于输入框,另一个用于复选框。

inputbox []复选框[]

inputbox []复选框[] 。 。 。 。 提交按钮

当我填写复选框1并填写输入框1中的值并尝试提交时。 Foreach失败,因为它传递了输入框的所有索引,但只传递了复选框。

foreach(array_combine($checkbox, $inputbox) as $check => $input) 

请告诉我该怎么办?

2 个答案:

答案 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])并设置默认值