合并两个包含子数组的数组的最佳方法是什么?有没有执行此操作的功能,是否可以不使用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个元素,两个名称和两个姓的数组。
答案 0 :(得分:1)
将array_map
与array_merge
一起使用:
$array3 = array_map('array_merge', $array1, $array2);
array_map
在每个输入数组的相应元素上调用一个函数。然后array_merge
合并这些子数组。