2012-12-01 3 views
1

На основе продуктов, которые я хочу показать, они извлекаются из базы данных. Я использовал два Foreach петли так, продукты и предметы повторяют .Below это код, как я использовал .и не хочу повторять ихЯ хочу показать продукты по товарам

<?php 
     if($products) 
     { 
     foreach($products as $products) 
     { 
      echo $products->productname.'<br/>'; 
      foreach($itemsbyproducts as $items) 
      { 
       echo $items->itemname.'<br/>'; 
      } 
     } 
     } 
     ?> 
+1

Вы можете вставлять данные обоих массивов? ваш ожидаемый o/p непонятно – GBD

+1

($ products as $ products), что неправильно? вы имели в виду «s» во 2-й переменной? –

ответ

2
$prod_array = $item_array = array(); 
if ($products) 
{ 
    foreach ($products as $product) 
    { 
     if (!in_array($product->productname, $prod_array)) 
     { 
      echo $product->productname . '<br/>'; 
      $prod_array[] = $product->productname; 
     } 
     foreach ($itemsbyproducts as $items) 
     { 
      if (!in_array($items->itemname, $item_array)) 
      { 
       echo $items->itemname . '<br/>'; 
       $item_array[] = $items->itemname; 
      } 
     } 
    } 
} 

Попробуйте, это создаст две временные массивы для продуктов и предметов , и добавьте каждый товар или элемент в соответствующий массив temp, а затем проверяет следующий цикл, если он уже добавлен, а если нет, то будет выходить из него.

Смежные вопросы