1

アイテムを表示したい製品に基づいて、これらはデータベースから取得されます。私は2つのforeachループを使用したので、製品とアイテムが繰り返されています。以下は、私が使用したコードです。繰り返したくないです。

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

1 に答える 1

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;
            }
        }
    }
}

これを試してください。商品とアイテムの2つの一時配列が作成され、各商品またはアイテムが対応する一時配列に追加されます。次に、次のループがすでに追加されているかどうかがチェックされ、追加されていない場合はエコーアウトされます。

于 2012-12-01T09:00:33.807 に答える