我在php
中有两个多维数组,想要合并它们。
第一个:
array1 = (
0 => array (
0 => array(
id => 1,
name => "test"
)
)
1 => array(...)
)
第二个:
array2 = (
0 => array (
0 => array(
id => 200,
name => "test"
),
1 => array(
id => 201,
name => "test"
)
)
1 => array(...)
)
和合并后的数组必须像这样:
lastArray = (
0 => array (
0 => array(
id =>1,
name => "test"
),
1 => array(
id => 200,
name => "test"
),
2 => array (
id => 201,
name => "test"
)
)
1 => array(...)
)
我应该如何用适当的foreach
循环做到这一点?
根据您所呈现的lastArray
-您需要仅在0
位置/索引处合并内部数组(并且您没有显示如何在1
索引处查看合并结果)。
使用以下方法:
$array1[0] = array_merge($array1[0], $array2[0]);
// now, $array1 is your $lastArray
方法一:
为什么不使用array_merge或array-merge-recursive ?这将合并两个(或多个)数组。
$array = array_merge($array1, $array2);
$array = array_merge-recursive($array1, $array2);
方法2:遍历一个数组。(您可以检查该键是否等于其他数组的键)。
也许像这样:
foreach($array_1 as $key=>$value) $array_2[$key] = $value;
来自splash58的提醒:不要忘记在两个方法中使用ussort在按id排序后按值排序数组