PHP - проверка флажков, если их значение в массиве - PullRequest
0 голосов
/ 01 июня 2018

У меня есть 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 и не нашел соответствия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...