1

根据我想展示的产品,这些是从数据库中检索出来的。我使用了两个 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;
            }
        }
    }
}

试试这个,它将为产品和项目创建两个临时数组,并将每个产品或项目添加到相应的临时数组中,然后检查下一个循环是否已经添加,如果没有,则会回显。

于 2012-12-01T09:00:33.807 回答