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

PHP实现指定多维数组合并为目标结构一维数组的方法

解决PHP多维数组合并为指定一维数组的问题

嘿,这个需求其实用PHP自带的函数就能轻松搞定!先理清楚你的场景:你有一个以身份证号为键的多维数组,每个子项里的多个数组共享相同的cat、doc、pts字段,还有带序号的唯一字段etpN和ptoN,想要把这些子数组合并成一个包含所有字段的一维数组。

直接上解决方案:

// 假设你的原始数组存储在$originalArray变量中
$result = [
    '087.479.925-22' => array_merge(...$originalArray['087.479.925-22'])
];

原理说明:

  • 展开运算符...会把$originalArray['087.479.925-22']里的每一个子数组拆解成array_merge()的独立参数,相当于手动把每个子数组传进去:array_merge($subArr0, $subArr1, $subArr2)。
  • array_merge()处理时,对于重复的键(比如cat、doc、pts),后面的数组值会覆盖前面的,但因为这些字段在所有子数组里值都一致,所以最终只会保留一个正确的条目;而带序号的etp0、pto0这类唯一键,会全部被保留下来,完美匹配你想要的目标结构。

如果你的原始数组里有多个身份证号对应的子数组,想要批量处理的话,可以用循环实现:

$result = [];
foreach ($originalArray as $docId => $subArrays) {
    $result[$docId] = array_merge(...$subArrays);
}

这样就能一次性完成所有用户数据的合并啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 18:04:04