PHP - 如果它们的值在数组中,则检查复选框

时间:2018-06-01 10:14:35

标签: php arrays checkbox

我有2个数组,我从第一个数组中取出1个字符串并检查它是否在第二个数组中,如果是,那么复选框已被选中。我的代码检查了复选框,但它也创建了相同复选框的未选中版本。我的if语句在foreach循环中,所以问题可能在于顺序,但似乎无法弄明白。

我的代码:

<?php foreach ($zamestnanec_item as $key => $value):?>
              [Other codes here]
              <?php foreach ($myukony_item as $key => $value3):
              if(in_array($value['Nazov'],$value3)): ?>
              <input type="checkbox" name="ukony[]" value="<?php echo $value['ID_ukon'] ?>" checked="checked"><?php echo $value['Nazov'] ?>
              <?php else: ?>
              <input type="checkbox" name="ukony[]" value="<?php echo $value['ID_ukon'] ?>" ><?php echo $value['Nazov'] ?>
            <?php endif; ?>
       <?php endforeach;?>
<?php endforeach;?>

自己解决了:

  <?php foreach ($myukony_item as $key => $value3):
                        if(in_array($value['Nazov'],$value3)): ?>
                        <input type="checkbox" name="ukony[]" value="<?php echo $value['ID_ukon'] ?>" checked="checked"><?php echo $value['Nazov'] ?>
                        <?php  break; else:
                            if( $key == ( count( $myukony_item ) - 1 ) ):?>
                            <input type="checkbox" name="ukony[]" value="<?php echo $value['ID_ukon'] ?>" ><?php echo $value['Nazov'] ?>
                            <?php endif; ?>
                        <?php endif;
                        ?>
                       <?php endforeach;?>

只有在遍历整个内部foreach循环并且没有找到匹配项之后才应添加未选中的框。

0 个答案:

没有答案