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