Php 如何将复选框数组和与字符串进行比较并仅选中该复选框

Php 如何将复选框数组和与字符串进行比较并仅选中该复选框,php,codeigniter,Php,Codeigniter,我是一个在编辑模式下有多个复选框的文件,现在的问题是我有字符串形式的数据,每个都是1个单一的数字或对象之后获取值。我如何比较然后只选中复选框字符串中存在哪些值 <div class="form-group"> <ul id="id_extras"> <?php $category = array( 1 => 'Air Conditioning', 2 => 'Alarm/Anti-Theft Sys

我是一个在编辑模式下有多个复选框的文件,现在的问题是我有字符串形式的数据,每个都是1个单一的数字或对象之后获取值。我如何比较然后只选中复选框字符串中存在哪些值

<div class="form-group">
    <ul id="id_extras">
    <?php
    $category = array(
        1 => 'Air Conditioning',
        2 => 'Alarm/Anti-Theft System',
        3 => 'AM/FM Radio',
        4 => 'Aux Audio In',
        5 => 'Bluetooth System',
        6 => 'Body Kit',
        7 => 'Brush Guard',
        8 => 'Cassette Player',
        9 => 'CD Player',
       10 => 'Climate Control',              
    );


    var_dump($values['extras']);
    //results are string "1,2,3,4,5,7,8"

    foreach ($category as $k => $v) {
    ?>
        <li>
            <label for="id_extras_<?= $k; ?>">
                <input class="multiple-select" id="id_extras_<?= $k; ?>" name="extras[]"
                       type="checkbox"
                       value="<?= $k; ?>" 
                       <?php in_array($values['extras'], $k) ? 'checked' : '' ?>> <?= $v; ?>
            </label>
        </li>
    <?php } ?>
        <div class="clearfix"></div>
    </ul>
</div>

如果您试图勾选匹配的复选框,则基本正确:

<?php in_array($values['extras'], $k) ? 'checked' : '' ?>
这将进行确定,并返回一个字符串,但不会打印它。您需要的代码如下所示:

<?= in_array($k, explode(',', $values['extras'])) ? 'checked' : '' ?>