合并两个子数组



合并两个包含子数组的数组的最佳方法是什么?是否有功能可以执行此操作,是否可以在不使用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 个元素、两个名字和两个姓氏的数组。

array_maparray_merge一起使用:

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

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

最新更新