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

PHP如何不使用foreach循环查找多维数组子键并合并推送数据

解决方案

方案1:已知具体合并的键名,直接单步合并

如果已经明确要合并的商品键是item_43587、订单ID是55678,直接用array_merge合并对应数组即可:

$orders[55678]['items']['item_43587'] = array_merge(
    $orders[55678]['items']['item_43587'],
    $metas['item_43587']
);

方案2:多商品批量合并,完全不用手动写foreach

如果$metas里有多个商品的扩展数据要批量合并到所有订单的商品列表里,可以用PHP内置的array_replace_recursive递归合并函数,仅需2行代码:

// 构造和$orders结构对齐的临时数组
$merge_temp = [55678 => ['items' => $metas]];
// 递归合并:重复键后者覆盖前者,不存在的键自动新增
$orders = array_replace_recursive($orders, $merge_temp);

说明:

array_replace_recursive会按数组层级递归匹配键名,自动把第二个数组的内容合并到第一个数组中,完全符合你的需求,不需要手动写任何循环逻辑。如果有多个订单ID需要处理,只需调整$merge_temp的结构对应上$orders的层级即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:24:04