代码之家  ›  专栏  ›  技术社区  ›  Suffii

如何将关联数组的值传递给复选框

php
  •  1
  • Suffii  · 技术社区  · 7 年前

    下面的代码段通过比较两个数组生成了3个状态正确的复选框,但outpt dosent会为以下标签呈现任何值

    enter image description here

    但我需要显示 $items 对于输入,如

    enter image description here

    你能告诉我如何修改代码来实现这一点吗?

    <?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">';
        }
    }
    
    ?>
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   Amit Merchant    7 年前

    尝试以下操作:

    <?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> '.$items[$key];
        }
        else{
             echo '<input id="checkBox" value="'.$key.'" type="checkbox"> '.$items[$key];
        }
    }
    
    ?>
    
        2
  •  1
  •   USER249    7 年前

    可以这样尝试:

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