私は現在、カテゴリと呼ばれる配列内の項目に基づいて、配列を html テーブルにグループ化するという問題に取り組んでいます。
次のコードがあります。
foreach ($this->items as $item) {
$categories[] = $item->category;
}
<?php foreach ($categories as $category): ?>
<table class="table table-bordered">
<?php foreach ($this->items as $item) :?>
<tr>
<td></td>
<td><?php echo $item->description; ?></td>
<td><?php echo $item->price; ?></td>
</tr>
<?php endforeach; ?>
</table>
<?php endforeach; ?>
しかし、そのカテゴリに基づいて、テーブルに移動するか、そのカテゴリのテーブルを作成する必要があることをどのように伝えますか?
個別のカテゴリごとの最終結果は次のようになります。
説明の追加:
私はそれを修正したと思います..私はこのコードを使用しました:
foreach( $this->items as $item ){
if( !isset( $zones[ $item->zone ] ) )
$zone_items[ $item->zone] = array();
$zone_items[ $item->zone ][] = $item;
$zones[$item->zone] = array(
'zone' => $item->zone,
'zone_description' => $item->zone_description,
'items' => $zone_items[$item->zone]
);
}
<?php foreach( $zones as $zone): ?>
<?php echo $zone['zone']; ?><br />
<?php echo $zone['zone_description']; ?>
<?php foreach( $zone['items'] as $items ) :?>
<?php echo $items->name; ?>
<?php echo $items->description; ?>
<?php echo $items->category; ?>
<?php endforeach; ?>
<?php endforeach; ?>
名前と説明は表示されますが、アイテムは表示されません。