为了账号安全,请及时绑定邮箱和手机立即绑定

遍历所有复选框,在 PHP 中选中或取消选中

遍历所有复选框,在 PHP 中选中或取消选中

PHP
红糖糍粑 2023-03-04 16:47:25
我的问题是下面的代码更改了选中项的值,但索引 i 仅分配给选中项。我希望它通过所有复选框。例如,如果第一个和最后一个复选框被选中,我得到的job[0]是“是”和job[1]“是”,其余的是“否”,而我应该为job[0]和得到“是” job[4]。代码如下:if(!empty($_POST['job'])){        $i = 0;        $jobArray = array("no","no","no","no","no");        // Loop to store and display values of individual checked checkbox.        foreach($_POST['job'] as $selected){            $jobArray[$i] = "yes";            $i++;        }    } //$_POST['job']
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

问题是复选框值只有在被选中时才会存在于您的请求中。你应该记住它。


因此,您可以更改您的应用程序逻辑来处理它。但是,如果您真的需要一个包含“是”、“否”值的数组,只需创建它即可。


假设您像这样创建复选框:


    <?php for ($i = 0; $i < 10; $i++): ?>

        <input type="checkbox" name="job[<?= $i ?>]" value="yes">

    <?php endfor; ?>

然后,在您的代码中:


    $jobs = [];

    for ($i = 0; $i < 10; $i++) {

        $jobs[$i] = $_POST['job'][$i] ?? 'no';

    }


查看完整回答
反对 回复 2023-03-04
  • 1 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信