Php 在循环中选中多个复选框

Php 在循环中选中多个复选框,php,html,loops,checkbox,Php,Html,Loops,Checkbox,我有一个向用户提供多个复选框的循环: <?php while($personInfo = $selectPerson->fetch()) { ?> <label> <input type="checkbox" name="checkBoxValue[]" id="checkBoxValue" value="<?= $personInfo['title'] ?>"> <?= $personInfo['title'] ?&

我有一个向用户提供多个复选框的循环:

<?php
while($personInfo = $selectPerson->fetch())
{
?>

    <label>
    <input type="checkbox" name="checkBoxValue[]" id="checkBoxValue" value="<?= $personInfo['title'] ?>"> <?= $personInfo['title'] ?>&nbsp&nbsp&nbsp
    </label> | 
    <label>
    <input type="checkbox" name="improper" id="improper" value="0"> Improper
    </label>
    <hr>

<?php
}
?>
问题是,我通过以下方法恢复了用户选择的每个复选框:

foreach($_POST['checkBoxValue'] as $selected)
{
    echo $selected;
    echo "<hr>";
}
但我不知道如何知道,对于每个选中的复选框,是否也选中了“不适当”复选框

<form method="post" action="#" name="stackOverflow">
<?php
$personInfo = [['id' => 2,  'title' => "Bernard"], [ 'id' => 3, 'title' => "Marc"]];
foreach ($personInfo as $info) {
    ?>
    <label>
        <input type="checkbox" name="checkBoxValue[<?php echo $info["id"] ?>]" id="checkBoxValue<?php echo $info["id"]; ?>" value="<?= $info['title'] ?>"
            <?php if (isset($_POST['checkBoxValue'][$info["id"]])) { ?>
                checked
            <?php } ?>
        >
        <?= $info['title'] ?>&nbsp&nbsp&nbsp</label> | <label>
        <input type="checkbox" name="improper[<?php echo $info["id"] ?>]" id="improper_<?php echo $info["id"]; ?> "
            <?php if (isset($_POST['improper'][$info["id"]]) && "on" === $_POST['improper'][$info["id"]]) { ?>
                checked
            <?php } ?>
        >
        Improper
    </label>
    <hr>
    <?php
}
?>
<input id="submit" type="submit" name="btn_validation" value="submit">

与您使用@DarkBee ans时使用的checkBoxValue one name=Underly[]相同。请确保您的id是唯一的。这不是您的情况。@DarkBee-Hmmm除非未选中复选框,否则它们不会返回到PHP。因此,如果选中了第一个复选框checkboxValue,选中了第二个不正确复选框,它们都将在[0]发生时返回,从而导致严重的混乱和错误。实际上,最好通过更改复选框来指示哪个复选框属于哪个人,谢谢,但我不知道此人的ID。。