I';m将项目显示为公司–>;所有项目,重复.如何做公司-->;大小-->;项目,重复


I'm displaying items as company–>all items, repeat. how to do company-->size-->items, repeat

我目前有以下代码。。。它运行得很好,但我需要更改它:

$group = array();
    while ($row = mysqli_fetch_assoc($result)) {
      $group[ $row['company'] ][] = $row;
    }
    foreach ($group as $company => $items) {
         echo "$company<br/>";
            foreach ($items as $item) {
                    $image = "item_img_url_code_goes_here";
                    echo "<img src='$image'/>";
                    $item_name = $item['item'];
                    $item_size = $item['item_size'];
                    $item_version = $item['item_version'];
                    echo "<p>$item_name - $item_size - $item_version</p>";
            }
        echo '<div class="clear"></div>';
    }

输出如下:

COMPANY 1
item - item size - item version
item - item size - item version
item - item size - item version
COMPANY 2
item - item size - item version
item - item size - item version
item - item size - item version

但我希望它能像这样输出:

COMPANY 1
item size one
item - item version
item - item version
item - item version
item size two
item - item version
item - item version
item - item version
etc
COMPANY 2
item size one
item - item version
item - item version
item - item version
item size two
item - item version
item - item version
item - item version
etc

有人能为我提供如何实现这一目标的指导吗?

您可以先将数据存储在一个结构如下的新数组中,而不是立即回显数据:

data['sizeA']['item1'] = item1
data['sizeA']['item2'] = item2
data['sizeB']['item1'] = item3
data['sizeB']['item2'] = item4

然后用嵌套循环迭代这个新数组:

foreach($data as $size -> $items) {
  echo "$size";
  foreach($items as $item) {
    $name = $item['name'];
    // etc.
    echo "$name";
  }
}