如何使用if条件PHP加倍foreach

如何使用if条件PHP加倍foreach,php,Php,我陷入了双重困境。如果我使用if函数并从数据库中选择2个以上的数据,它将再次复制所有数据,如: $注:{1、2、3} $注:{1,2} 结果选项 如果选择1和2,则 一, 1. 2. 2. 3. 三, 你们能帮我个忙吗?问题是$notes数组中的每个['notes']项都要与$note数组中的每个项进行检查,如果代码如下所示: <select id="note[]" name="note[]" class="select2" mu

我陷入了双重困境。如果我使用if函数并从数据库中选择2个以上的数据,它将再次复制所有数据,如:

$注:{1、2、3}

$注:{1,2}

结果选项 如果选择1和2,则

一, 1. 2. 2. 3. 三,


你们能帮我个忙吗?

问题是$notes数组中的每个['notes']项都要与$note数组中的每个项进行检查,如果代码如下所示:

<select id="note[]" name="note[]" class="select2" multiple="multiple" data-placeholder="Select Deficiency" style="width: 100%">
    <?php foreach ($notes as $nts) foreach ($note as $nt) : ?>
        <?php if ($nts['note'] == $nt) : ?>
            <option value="<?= $nts['note']; ?>" selected><?= $nts['note']; ?></option>
        <?php endif; ?>
    <?php endforeach; ?>
    <?php foreach ($notes as $nts) : ?>
        <?php if ($nts['note'] != $nt) : ?>
            <option value="<?= $nts['note']; ?>"><?= $nts['note']; ?></option>
        <?php endif; ?>
    <?php endforeach; ?>
</select>
结果是:

在数组$nts['note']中使用if,$note{…}而不是foreach$note作为$nt{if$nt==$nts['note']{…}。它将在多重选择中创建一个双精度和取消选择的列表
<?php
foreach ($notes as $nts) :
  if (in_array($nts['notes'], $note)) : 
?>
              <option value="<?= $nts['notes']; ?>" selected><?= $nts['notes']; ?></option>
<?php
    else :
?>
              <option value="<?= $nts['notes']; ?>"><?= $nts['notes']; ?></option>
<?php
  endif;
endforeach;
?>
<select id="note[]" name="note[]" class="select2" multiple="multiple" data-placeholder="Select Deficiency" style="width: 100%">
    <?php foreach ($notes as $nts) foreach ($note as $nt) : ?>
        <?php if ($nts['note'] == $nt) : ?>
            <option value="<?= $nts['note']; ?>" selected><?= $nts['note']; ?></option>
        <?php endif; ?>
    <?php endforeach; ?>
    <?php foreach ($notes as $nts) : ?>
        <?php if ($nts['note'] != $nt) : ?>
            <option value="<?= $nts['note']; ?>"><?= $nts['note']; ?></option>
        <?php endif; ?>
    <?php endforeach; ?>
</select>