как остановить повторение вложенного цикла foreach в php

#php #foreach

#php #foreach

Вопрос:

У меня есть два вложенных foreach цикла, теперь проблема в том, что значения повторяются каждый раз при выполнении цикла. Я хочу одноразовые значения в foreach цикле.

у меня есть две таблицы, одна для продукта, а другая для другого продукта, где идентификатор продукта является полем отношения. теперь я хочу напечатать весь продукт в форме флажка и на странице редактирования я хочу установить те флажки, которые пользователь установил, когда пользователь их добавлял

 <?php
$arr1 = array('aqeel', 'naseem', 'umer');
$arr2 = array('farooq', 'tahir', 'zaheer');

foreach($arr1 as $one)
{
    echo $one.'<br />';
    foreach($arr2 as $two)
    {
        echo ($two).'<br />';
    }
}
?>
  

В приведенном выше коде каждый раз, когда $one значение добавляется к $two значению, я хочу, чтобы оба цикла выполняли свои значения один раз, не повторяйте значения

ниже приведен мой реальный пример кода, в котором у меня есть вложенная проблема с повторением foreach

 <label for="other_product">Other Product</label>
        <?php 
            $allproducts = $this->product_model->allProducts();
            if($allproducts)
            {
            foreach($allproducts as $allproduct)
            {
                $otherprod_ids = $this->product_model->otherprodids();
                foreach($otherprod_ids as $otherprod_id)
                {
        ?>
        <input type="checkbox" name="otherprod_id[]" value="<?=$allproduct->id?>" style="margin-bottom:10px;" /><span style="font-weight:bold; margin:0px 0px 5px 10px;"><?=$allproduct->product_name?></span><br />
        <?php } } }  ?>
  

ниже приведен результат вложенного повторяющегося цикла foreach

 <label for="other_product">Other Product</label>
  

Баннеры

Баннеры

Баннеры

Баннеры

Баннеры

Папки

Папки

Папки

Папки

Папки

Фирменные бланки

Фирменные бланки

Фирменные бланки

Фирменные бланки

Фирменные бланки

Закладки

Закладки

Закладки

Закладки

Закладки

Виниловые баннеры

Виниловые баннеры

Виниловые баннеры

Виниловые баннеры

Виниловые баннеры

Буклеты

Буклеты

Буклеты

Буклеты

Буклеты

Брошюры

Брошюры

Брошюры

Брошюры

Брошюры

Визитные карточки

Визитные карточки

Визитные карточки

Визитные карточки

Визитные карточки

Каталоги

Каталоги

Каталоги

Каталоги

Каталоги

Листовки

Листовки

Листовки

Листовки

Листовки

Поздравительные открытки

Поздравительные открытки

Поздравительные открытки

Поздравительные открытки

Поздравительные открытки

Метки

Метки

Метки

Метки

Метки

Постеры

Постеры

Постеры

Постеры

Постеры

Стикеры

Стикеры

Стикеры

Стикеры

Стикеры

Формы без углерода

Формы без углерода

Формы без углерода

Формы без углерода

Формы без углерода

Упаковочные коробки

Упаковочные коробки

Упаковочные коробки

Упаковочные коробки

Упаковочные коробки

Конверты

Конверты

Конверты

Конверты

Конверты

Руководства

Руководства

Руководства

Руководства

Руководства

Информационные бюллетени

Информационные бюллетени

Информационные бюллетени

Информационные бюллетени

Информационные бюллетени

Карты в стойку

Карты в стойку

Карты в стойку

Карты в стойку

Карты в стойку

Теги

Теги

Теги

Теги

Теги

Билеты

Билеты

Билеты

Билеты

Билеты

Цепляется

Цепляется

Цепляется

Цепляется

Цепляется

CD Jackets

CD Jackets

CD Jackets

CD Jackets

CD Jackets

Комментарии:

1. пожалуйста, добавьте ожидаемый результат

Ответ №1:

Если ваш ожидаемый результат:

 aqueel
farooq
naseem
tahir
amer
zaheer
  

Ваш код будет выглядеть как:

 for($i = 0; $i < max(count($arr1),count($arr2)); $i  ) {
    if ($i < sizeof($arr1))
        echo $arr1[$i]."<br />";
    if ($i < sizeof($arr2))
        echo $arr2[$i]."<br />";
}
  

Комментарии:

1. Это ответило на ваш вопрос?