通过将两个关联数组的值推入新数组来合并它们

时间:2015-07-05 16:18:52

标签: php arrays merge

我有以下两个数组:

$arrFoo = array(
    'a' => 12,
    'b' => 17,
);
$arrBar = array(
    'a' => 9,
    'c' => 4,
);

我希望生成的数组看起来像这样:

$arrResult = array(
    'a' => array ( 12, 9 ),
    'b' => array ( 17 ),
    'c' => array ( 4 ),
);

有没有一种聪明的方法可以在不使用foreach的情况下实现这一目标?

2 个答案:

答案 0 :(得分:2)

您可以使用array_merge_recursive()方法

$arrResult = array_merge_recursive($arrFoo, $arrBar);

print_r($arrResult);

结果将是:

Array
(
    [a] => Array
        (
            [0] => 12
            [1] => 9
        )

    [b] => 17
    [c] => 4
)

答案 1 :(得分:2)

<?php

$arrFoo = array(
    'a' => 12,
    'b' => 17,
);
$arrBar = array(
    'a' => 9,
    'c' => 4,
);

$arrResult = array_merge_recursive($arrFoo, $arrBar);

var_dump($arr);

?>

使用array_merge_recursive,您可以按照您要求的方式合并数组。 http://php.net/manual/en/function.array-merge-recursive.php