【问题标题】:How to merge arrays vertically in PHP?如何在 PHP 中垂直合并数组?
【发布时间】:2025-12-14 14:35:01
【问题描述】:

假设我有多个嵌套数组(行数组的数组):

[
    ['name' => 'John', 'age' => 20],
    ['name' => 'Jack', 'age' => 30],
],
[
    ['salary' => 100],
    ['salary' => 200],
],

如何合并列?像这样:

[
    ['name' => 'John', 'age' => 20, 'salary' => 100],
    ['name' => 'Jack', 'age' => 30, 'salary' => 200],
]

更新。我的研究工作是:我在网络、官方文档和 SO 上查看了它 - 并没有找到答案。

【问题讨论】:

  • 创建一个我如何...的问题是不够的,您应该在问题中展示您所做的努力。仅仅发布它来发布答案并不是这个网站的运作方式。
  • @NigelRen 你到底指的是什么研究工作?我没有在官方文档中找到答案,在 SO 上也没有。我还应该怎么做,你能建议吗?我希望像我这样的其他人,当他们搜索它时,可以在这里找到它——我做不到,因为在这篇文章之前,网络上没有答案。
  • *.com/questions/36807532/…很像,但是因为是嵌套数组,所以我没有把它标记为重复。
  • @NigelRen 在那个问题中,行号必须相同 - 这不仅仅是垂直合并,而是按行 ID 垂直合并 - 另一件事。那么,我还应该做些什么来展示我的研究成果?
  • 两个数组中的行具有相同的数字键 - 0 和 1。

标签: php array-merge


【解决方案1】:

只需使用:

array_map('array_merge', ...$arrays)

- 它对数组中的每一行执行array_merge,即它首先将第一行相互合并,然后逐行合并第二行、第三行,依此类推。

【讨论】:

  • 请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助、质量更好,并且更有可能吸引投票。