我的问题是下面的代码更改了选中项的值,但索引 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';
}
- 1 回答
- 0 关注
- 123 浏览
添加回答
举报
0/150
提交
取消