如何在php中获取多个未选中的复选框的值?

时间:2016-10-08 03:47:19

标签: php

我尝试过选择的chcekbox但是

<form action="#" method="post">
<input type="checkbox" name="check_list[]" value="C/C++"><label>C/C++</label><br/>
<input type="checkbox" name="check_list[]" value="Java"><label>Java</label><br/>
<input type="checkbox" name="check_list[]" value="PHP"><label>PHP</label><br/>
<input type="submit" name="submit" value="Submit"/>
</form>

<?php
    if(isset($_POST['submit'])){//to run PHP script on submit
        if(!empty($_POST['check_list'])){
    // Loop to store and display values of individual checked checkbox.
        foreach($_POST['check_list'] as $selected){
        echo $selected."</br>";
        }
      }
    }
?>

如何获取未选中的复选框的值?

1 个答案:

答案 0 :(得分:0)

请注意,您的POST数据中将无法使用您未选中的复选框。您的POST将仅包含已检查的内容。

您可以在$options中存储所有可能的选项,并在$checked中存储所有选中的选项。

我们可以使用array_diff找到未选中的选项,即查找$options$selected之间的差异。

if (isset($_POST['submit'])) { //to run PHP script on submit
    $options = array("C/C++", "Java", "PHP");
    $checked = isset($_POST['check_list']) ? $_POST['check_list'] : array();
    $unchecked = array_diff($options, $checked);
    /* Other code */
 }