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

如何将一维数组按对应键合并到多维数组的子数组中?

解决方案:合并两个数组并匹配对应键值

你之前用array_push没效果是因为用错了方法——array_push是把整个第二个数组当成单个元素塞进第一个数组里,完全不是你要的「把第一个数组的元素逐个合并到第二个数组子项」的逻辑。

根据你两个数组键一致的前提,这里有两种简单的实现方式:

方法一:foreach循环(直观易理解)

先把第二个数组取出来存到变量里,然后通过索引遍历匹配:

// 先获取第二个数组的内容
$itemsArr = $items->getData();

// 遍历第二个数组,用引用直接修改原数组的子元素
foreach ($itemsArr as $index => &$item) {
    // 先检查对应索引的图片是否存在,避免索引越界报错
    if (isset($imageArr[$index])) {
        $item['image'] = $imageArr[$index];
    }
}

// 输出合并后的结果
print_r($itemsArr);

方法二:array_map函数(简洁写法)

用array_map同时遍历两个数组,把对应位置的子数组和图片值合并:

$itemsArr = $items->getData();

$mergedArray = array_map(function($item, $image) {
    $item['image'] = $image;
    return $item;
}, $itemsArr, $imageArr);

print_r($mergedArray);

这两种方法都能实现你要的效果:把第一个数组的每个元素作为image键值,对应加到第二个数组的每个子数组里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:41:42