php循环数组,已从具有相同变量名称的html表单发送

时间:2015-01-08 14:21:57

标签: php arrays

这是我的HTML代码:

<input name="dependencies[]"

在php中我这样做:

 $dependencies = $_POST['dependencies'];

当我这样做时:

print_r($dependencies);

我可以看到这样的值:

Array ( [0] => [1] => )

我的问题

我想将该数组中的每个值添加到另一个数组中:

我不知道该怎么做

我试过了:

foreach ($dependencies as $number){
echo $number;
}

但没有打印任何内容

更新

这是html

<input name="dependencies[]" value="<?php $question->id; ?>" type="checkbox" <?php if($db->does_question_depend_question($questionID, $question->id) == 0){}else{echo "checked";} ?> />

我在运行页面时可以看到复选框是否已选中

UPDATE2

整个代码

 <form action="../DB/addDependencies.php" method="post">
            <input type="hidden" name="questionID" />
        <table>
            <tr>
                <th>Porgugese Name</th>
                <th>Englisn Name</th>
                <th>Dependent</th>
            </tr>
            <?php
foreach ($questions as $question) {
    ?>
            <tr>
                <td>
                    <?php echo $question->ptName; ?>
                </td>
                <td>
                    <?php echo $question->enName; ?>
                </td>
                <td>
                    <input name="dependencies[]" value="<?php $question->id; ?>" type="checkbox" <?php if($db->does_question_depend_question($questionID, $question->id) == 0){}else{echo "checked";} ?> />
                </td>
            </tr>
            <?php
}
            ?>
        </table>
            <input type="submit"  value="Save" name="submit" />
        </form>

2 个答案:

答案 0 :(得分:0)

尝试使用

foreach ($dependencies as $key=>$val){
var_dump($key);
var_dump ($val);
}

而不是

foreach ($dependencies as $number){
echo $number;
}

;-)希望在这种情况下会带来一些想法

答案 1 :(得分:0)

您需要将HTML更改为:

<input name="dependencies[<?php $question->id; ?>]" type="checkbox" <?php if($db->does_question_depend_question($questionID, $question->id) == 0){}else{echo "checked";} ?> />

然后测试是否选中了复选框,您只需要执行类似

的操作
function isQuestionChecked($question_id) {
    return isset($_POST['dependencies']) && isset($_POST['dependencies'][$question_id]);
}