Ker*_*rri 6 php arrays array-merge
好吧,如果觉得这应该是很简单的,并通过一个函数来完成类似array_merge()
或array_merge_recursive
,但我不能完全弄清楚.我有两个简单的数组,如下面的(简化)示例.我只是想根据它们的索引将它们合并到一个数组中.
$ array 1:
Array (
[0] => Array (
[ID] => 201
[latLng] => 45.5234515, -122.6762071
)
[1] => Array (
[ID] => 199
[latLng] => 37.7931446, -122.39466520000002
)
)
Run Code Online (Sandbox Code Playgroud)
等等…
$ array2:
Array (
[0] => Array (
[distance] => 1000
[time] => 10
)
[1] => Array (
[distance] => 1500
[time] => 15
)
)
Run Code Online (Sandbox Code Playgroud)
$ desiredResult:
Array (
[0] => Array (
[ID] => 201
[latLng] => 45.5234515, -122.6762071
[distance] => 1000
[time] => 10
)
[1] => Array (
[ID] => 199
[latLng] => 37.7931446, -122.39466520000002
[distance] => 1500
[time] => 15
)
)
Run Code Online (Sandbox Code Playgroud)
当我尝试使用合并函数合并这些时,我只能得到这个:
$ unDesiredResult:
Array (
[0] => Array (
[ID] => 201
[latLng] => 45.5234515, -122.6762071
)
[1] => Array (
[ID] => 199
[latLng] => 37.7931446, -122.39466520000002
)
[2] => Array (
[distance] => 1000
[time] => 10
)
[3] => Array (
[distance] => 1500
[time] => 15
)
)
Run Code Online (Sandbox Code Playgroud)
我需要循环将第二组推入第一组,还是可以使用现有功能完成?
Roc*_*mat 10
我不认为有一个功能为你做这个,你将不得不循环.
$result = array();
foreach($array1 as $key=>$val){ // Loop though one array
$val2 = $array2[$key]; // Get the values from the other array
$result[$key] = $val + $val2; // combine 'em
}
Run Code Online (Sandbox Code Playgroud)
或者您可以将数据推送到$ array1,因此您需要创建第3个数组:
foreach($array1 as $key=>&$val){ // Loop though one array
$val2 = $array2[$key]; // Get the values from the other array
$val += $val2; // combine 'em
}
Run Code Online (Sandbox Code Playgroud)