如何按产品类型将菜单数组数据展示为结构化表格
按产品类型排序展示菜单表格方案
嘿,刚好能帮你搞定这个菜单展示的问题!咱们一步步来,把你的数组按主菜→配料→沙拉→汤品→甜点的顺序整理成清晰的表格:
第一步:定义产品类型映射
首先,咱们把数字类型对应成用户看得懂的中文名称,避免表格里显示冰冷的数字:
$typeMap = [ 1 => '主菜', 2 => '配料', 3 => '沙拉', 4 => '汤品', 5 => '甜点' ];
第二步:给数组按产品类型排序
因为咱们要按1到5的固定顺序展示,直接用usort()对原数组排序就行,确保主菜排最前面,甜点在最后:
// 假设你的原始数组是$menuItems usort($menuItems, function($a, $b) { return $a['product_type'] - $b['product_type']; });
第三步:生成展示表格
排序完成后,循环数组生成HTML表格,同时把数字类型替换成对应中文:
// 输出表格头部 echo '<table border="1" cellpadding="8" cellspacing="0">'; echo '<tr>'; echo '<th>产品名称</th>'; echo '<th>依赖项</th>'; echo '<th>产品类型</th>'; echo '<th>数量</th>'; echo '</tr>'; // 循环输出每一行数据 foreach ($menuItems as $item) { echo '<tr>'; echo '<td>' . htmlspecialchars($item['product_name']) . '</td>'; echo '<td>' . htmlspecialchars($item['dependency']) . '</td>'; echo '<td>' . $typeMap[$item['product_type']] . '</td>'; echo '<td>' . htmlspecialchars($item['quantity']) . '</td>'; echo '</tr>'; } echo '</table>';
最终展示效果
用你提供的示例数据,生成的表格会是这样的:
| 产品名称 | 依赖项 | 产品类型 | 数量 |
|---|---|---|---|
| Pizza Craft | 0 | 主菜 | 1 |
如果你的数组有更多元素,只要它们的product_type是1-5之间的数值,这个方案就能自动按顺序排列展示,完全适配每日更新的需求~
内容的提问来源于stack exchange,提问作者Mitca Vicentiu
相关产品推荐
相关产品推荐

