合并两个子数组

时间:2019-01-28 18:02:00

标签: php

合并两个包含子数组的数组的最佳方法是什么?有没有执行此操作的功能,是否可以不使用loop来执行此操作?我尝试使用函数array_merge_recursive,但没有满足我的需要。

这些是示例数组:

array1 = [
  [0] => [person] => [
    'name' => 'John'
  ],
  [1] => [person] => [
    'name' => 'Arya'
  ]
]

array2 = [
  [0] => [person] => [
    'surname' => 'Snow'
  ],
  [1] => [person] => [
    'surname' => 'Stark'
  ]
]

我需要什么:

array3 = [
  [0] => [person] => [
    'name' => 'John'
    'surname' => 'Snow'
  ],
  [1] => [person] => [
    'name' => 'Arya'
    'surname' => 'Stark'
  ]
]

但是通过上述功能,我得到了包含4个元素,两个名称和两个姓的数组。

1 个答案:

答案 0 :(得分:1)

array_maparray_merge一起使用:

$array3 = array_map('array_merge', $array1, $array2);

array_map在每个输入数组的相应元素上调用一个函数。然后array_merge合并这些子数组。