Php 无法通过比较两个数组来输出检查状态

Php 无法通过比较两个数组来输出检查状态,php,Php,你能看一下这段代码,让我知道为什么我不能生成这样的输出吗 通过比较两个数组,选择一个关联的$items和一个常规的$items。从技术上讲,我想做的是检查$items的键是否存在于$selected中,并选中一个复选框而不是空复选框 <?php $items =[ [2] => 'Full', [4] => 'No', [3] => 'Semi']; $selected = [ 2, 3]; $keys = array_keys($items); foreach($ke

你能看一下这段代码,让我知道为什么我不能生成这样的输出吗

通过比较两个数组,选择一个关联的$items和一个常规的$items。从技术上讲,我想做的是检查$items的键是否存在于$selected中,并选中一个复选框而不是空复选框

<?php
$items =[ [2] => 'Full', [4] => 'No', [3] => 'Semi'];
$selected = [ 2, 3];

$keys = array_keys($items);
foreach($keys as $key ){
    if (in_array($key, $selected)) {
    echo '<input id="checkBox" value="'.$key.'" type="checkbox" checked>';
}
    else{
         echo '<input id="checkBox" value="'.$key.'" type="checkbox">';
    }
}

?>

将您的代码修改为:

$items = ['2' => 'Full', '4' => 'No', '3' => 'Semi'];
$selected = [2, 3];

$keys = array_keys($items);
foreach($keys as $key ){
    if (in_array($key, $selected)) {
         echo '<input id="checkBox" value="'.$key.'" type="checkbox" checked>';
    }
    else{
         echo '<input id="checkBox" value="'.$key.'" type="checkbox">';
    }
}

嗨,阿米特,谢谢你的代码,我得到了复选框,因为它们只是它们的标签valuesWell的一部分,这是另一个问题,你在最初的问题中没有具体说明。