通过比较两个阵列无法输出检查状态

时间:2018-02-08 03:37:40

标签: php

请你看看这段代码,让我知道为什么我无法生成这样的输出

enter image description here

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

<?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">';
    }
}

?>

1 个答案:

答案 0 :(得分:1)

将您的代码修改为:

$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">';
    }
}