Php 如何获取未选中和选中复选框的值

Php 如何获取未选中和选中复选框的值,php,checkbox,Php,Checkbox,我有一个复选框列表,希望在提交时返回它们的值。我可以很容易地为选中的那个做这件事,但对未选中的那个不行吗?以下是我目前的代码: 获取所有通讯簿和现有用户通讯簿并作为复选框输出的代码: foreach ($ch2_response as $ab) { if ($ab['visibility'] == "Public") { if (in_array($ab['name'], $userBooks)) { ?> <div class="c

我有一个复选框列表,希望在提交时返回它们的值。我可以很容易地为选中的那个做这件事,但对未选中的那个不行吗?以下是我目前的代码:

获取所有通讯簿和现有用户通讯簿并作为复选框输出的代码:

foreach ($ch2_response as $ab) {
    if ($ab['visibility'] == "Public") { 
        if (in_array($ab['name'], $userBooks)) { ?>
            <div class="checkbox">
                <label>
                    <input type="checkbox" checked="checked" name="addressBooks[]" value="<?php echo $ab['id']; ?>"><?php echo $ab['name']; ?>
                </label>
            </div>
     <?php   } else { ?>
             <div class="checkbox">
                <label>
                    <input type="checkbox" name="addressBooks[]" value="<?php echo $ab['id']; ?>"><?php echo $ab['name']; ?>
                </label>
            </div>
      <?php  }
    }
}
foreach($ch2\u响应为$ab){
如果($ab['visibility']=“Public”){
如果(在_数组中($ab['name',$userBooks)){?>

无法获取未选中复选框的值。浏览器不会提交这些值

您可以在每个
复选框前面添加一个同名的隐藏输入字段,并为其指定所需的假值

<input type="hidden" name="addressBooks" value="0">
<input type="checkbox" name="addressBooks" value="1">


当复选框未选中时,浏览器会将隐藏值提交给服务器

如果复选框未选中,则不会返回该值。我得到@Dave-但我需要ID(值)也可以从未检查的框中取消订阅,这样我就可以继续从用户未检查的通讯簿中取消订阅。然后,您需要跟踪在显示页面时检查的内容,并比较在提交页面时仍检查的内容。您不会返回未检查的框。谢谢,我在其他地方看到过此建议,并尝试过,但我t不起作用,它添加了重复项,没有给出我需要的值。将添加完整的代码,将复选框输出到我的问题中。在您的情况下,将不起作用,因为您将地址簿作为数组处理
<input type="hidden" name="addressBooks" value="0">
<input type="checkbox" name="addressBooks" value="1">