You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP视图页面展示二维数组(含bom_dt子数组)解决方案咨询

如何展示二维数组中的嵌套子数组

嘿,我来帮你搞定这个嵌套子数组的展示问题!从你给出的数组结构来看,这是典型的主数据+嵌套明细结构,咱们只需要在遍历主数组的同时,嵌套一层循环处理bom_dt里的子数组就行。

先理清楚数组层级

你拿到的数组结构简化后是这样的:

$products = [
    [
        'tih_sku' => '10001',
        'tih_style' => 'RHH/110/02',
        'tih_color' => 'BLACK',
        'tih_leather' => 'PERU',
        'bom_dt' => [
            [
                'mm_spec_fld' => '*-*-*-*-*-NO 5, 22.5 CM-*-*-*-*-*-*-*-...'
            ]
            // 可能还有更多子元素
        ]
    ]
    // 可能还有更多主数组元素
];

具体实现示例(以PHP为例)

根据不同的展示场景,我给你两种常用的实现方式:

方式1:控制台/文本输出(调试用)

foreach ($products as $product) {
    // 先输出主数组的核心字段
    echo "SKU: {$product['tih_sku']}\n";
    echo "Style: {$product['tih_style']}\n";
    echo "Color: {$product['tih_color']}\n";
    echo "Leather: {$product['tih_leather']}\n";
    
    // 遍历bom_dt子数组,输出明细
    echo "BOM明细:\n";
    foreach ($product['bom_dt'] as $bomItem) {
        echo "  - 规格信息: {$bomItem['mm_spec_fld']}\n";
        // 如果子数组还有其他字段,直接按同样方式输出即可
    }
    echo "-------------------------\n";
}

方式2:HTML页面展示(前端渲染)

如果要在网页上展示,用卡片+列表的形式会更清晰:

foreach ($products as $product) {
    // 主信息卡片
    echo "<div class='product-card'>";
    echo "<h3>商品SKU:{$product['tih_sku']}</h3>";
    echo "<p>款式:{$product['tih_style']}</p>";
    echo "<p>颜色:{$product['tih_color']}</p>";
    echo "<p>皮质:{$product['tih_leather']}</p>";
    
    // BOM明细区块
    echo "<div class='bom-section'>";
    echo "<h4>BOM明细</h4>";
    echo "<ul>";
    foreach ($product['bom_dt'] as $bomItem) {
        echo "<li>{$bomItem['mm_spec_fld']}</li>";
    }
    echo "</ul>";
    echo "</div>";
    echo "</div>";
}

核心思路总结

不管用哪种语言或展示场景,核心逻辑都是:

  • 外层循环遍历主数组的每一条数据,先完成主字段的展示
  • 针对每条主数据,再用内层循环遍历它的bom_dt子数组,逐个输出子数组里的字段

如果bom_dt子数组还有更多字段,只需要在第二层循环里继续输出对应的键值对就好啦!

内容的提问来源于stack exchange,提问作者Indranil Banerjee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:10:13