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

如何将指定多维数组转为以ColourCode为键的关联数组并遍历输出

数组转换实现方案及问题解答

一、实现方法

最直接且高效的方式是通过foreach循环遍历原数组的content节点,逐个提取ColourCode作为新数组的键、ColourName作为对应值:

// 先确保json_decode返回数组(第二个参数传true)
$result = json_decode($output, true);
$colourMap = [];

// 校验原数组结构合法性,避免报错
if (isset($result['content']) && is_array($result['content'])) {
    foreach ($result['content'] as $item) {
        // 确保每个元素包含所需字段
        if (isset($item['ColourCode'], $item['ColourName'])) {
            $colourMap[$item['ColourCode']] = $item['ColourName'];
        }
    }
}

// 转换后的数组结构
print_r($colourMap);

执行后得到的目标数组如下,可直接用foreach灵活遍历输出:

Array
(
    [20] => Ash
    [1004] => Black
)

二、关于array_merge_recursive()的说明

不能使用array_merge_recursive()实现该需求。这个函数的核心作用是合并多个数组,当遇到相同键名时,会将对应值合并为一个子数组,而非将指定字段转为键、另一字段转为值。它的应用场景是数组合并,而非结构转换,完全不匹配当前需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 14:15:57