PHP将多维数组相互合并



我在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排序后按值排序数组

相关内容

  • 没有找到相关文章

最新更新