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

PHP如何实现多维数组相同索引号的对应值合并

PHP同索引多维数组合并实现

你需要的是把列存储的二维数组转成按行存储的结构,两种常见实现方式如下:

1. 基础循环写法

兼容所有PHP版本,逻辑可控,方便中途加自定义校验逻辑:

// 定义原始数组
$source = [
    'TXN_DATE' => ['21-AUG-21', '22-AUG-21', '23-AUG-21', '24-AUG-21'],
    'O_TXN' => [50, 60, 70, 80],
    'O_TXN_AMT' => [5000, 6000, 7000, 8000],
    'R_TXN' => [20, 30, 40, 85],
    'R_TXN_AMT' => [6000, 7000, 8000, 8500]
];

$result = [];
// 所有子数组长度一致的前提下,取第一个子数组的长度作为循环次数
$rowCount = count(reset($source));

for ($i = 0; $i < $rowCount; $i++) {
    foreach ($source as $colKey => $colValues) {
        $result[$i][$colKey] = $colValues[$i];
    }
}

// 打印验证结果
print_r($result);

2. 内置函数简洁写法

PHP 5.6+ 可用,代码更精简:

$keys = array_keys($source);
$result = array_map(function(...$rowValues) use ($keys) {
    return array_combine($keys, $rowValues);
}, ...array_values($source));

两种方式最终输出的$result都和你要求的结构完全一致。

内容的提问来源于stack exchange,提问作者Md. Abdul Hannan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:06:04