如果在表单php中检查了数组名称,请记住复选框值

时间:2016-04-04 06:51:48

标签: php arrays

我们可以说:

echo '<form method="post">
        <div class="form-group">
            <table class="table table-bordered table-hover table-striped" style="width:auto">
              <tr>
                <td><label for="array">ARRAY_NAME</label></td>        
                <td>
                 <input type="checkbox" name="array[]" value="1" /> option1<br />
                 <input type="checkbox" name="array[]" value="2" /> option2
                </td>
              </tr>
              <tr>
                <td><label for="array2">ARRAY_NAME2</label></td>        
                <td>
                 <input type="checkbox" name="array2[]" value="1" /> option1<br />
                 <input type="checkbox" name="array2[]" value="2" /> option2
                </td>
              </tr>
              <tr>
                <td><label for="array3">ARRAY_NAME3</label></td>        
                <td>
                 <input type="checkbox" name="array3[]" value="1" /> option1<br />
                 <input type="checkbox" name="array3[]" value="2" /> option2
                </td>
              </tr>
           </table>
        </div>
        <button type="submit" name="submit" class="btn btn-success">Submit</button>
</form>';

我尝试实现此代码:<?php echo (isset($_POST['array1[0]']) && $_POST['array1[0]'] == 1) ? "checked='checked'" : "" ?>

但它不起作用!仅当您有name="array1"name="array2"时,它才有效。这样我想我可以保存父数组中的多个数据!像这样form[array1[],array2[],array3[]]

有人可以给我一个解决方案,因为我被卡住了!先谢谢你们!!

2 个答案:

答案 0 :(得分:0)

当您在表单控件的名称中放置方括号时,PHP会将具有相似名称的元素集扩展为数组。

您需要访问:

$_POST['array1'][0]

<强>不

$_POST['array1[0]'] // This is incorrect

(您还需要匹配控件的实际名称:您的HTML有arrayarray2array3,但不是array1

答案 1 :(得分:0)

您正试图错误地访问这些值。

您可以访问这样发布的数组:

echo $_POST['array1'][0];

php.net/$_POST请参阅第一条评论。