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

如何在保留二级关联键的前提下扁平化PHP二维数组?

实现二维数组扁平化并保留二级键的PHP方案

当然可以实现,以下是几种实用的PHP解决方案,都能得到你期望的一维数组结果:

方法一:foreach循环遍历合并

这是最直观易懂的方式,适配所有PHP版本:

$data = [
    [2015 => '2015'],
    [2016 => '2016'],
    [2017 => '2017'],
    [2018 => '2018'],
    [2019 => '2019'],
    [2020 => '2020'],
    [2021 => '2021'],
    [2022 => '2022'],
    [2023 => '2023']
];

$result = [];
foreach ($data as $item) {
    // 使用+=合并子数组,若存在重复键,原有键值会保留(不会被后续覆盖)
    $result += $item;
}

print_r($result);

方法二:array_reduce函数简化代码

利用数组归约函数实现更简洁的写法:

$result = array_reduce($data, function($carry, $item) {
    return $carry + $item;
}, []);

print_r($result);

逻辑和foreach一致,通过迭代将每个子数组合并到初始空数组中。

方法三:array_merge结合解包运算符(PHP 7.4+)

如果你的PHP版本在7.4及以上,可以用解包运算符让代码更简洁:

$result = array_merge(...$data);
print_r($result);

注意:array_merge遇到重复键时,后续的键值会覆盖前面的,这和+=的行为相反,可根据实际需求选择。

以上三种方法都能输出你需要的一维数组,完整保留所有原二级键。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:20:50