如何合并这两个数组?

时间:2011-09-08 08:00:22

标签: php arrays

我想合并这两个数组,只获取唯一的键值。这有一个PHP功能吗? array_merge()不起作用。

Array
(
    [1] => 3
    [2] => 4
    [3] => 1


)

Array
(
    [1] => 3
    [2] => 1
    [3] => 2

)

结果阵列我想要

Array
(
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4

)

4 个答案:

答案 0 :(得分:4)

$values = array_unique(array_merge($array1, $array2));
sort($values);

这将返回array1和array2中的唯一值(根据您的示例)。

在此处试试:http://codepad.org/CeZewRNT

请参阅array_merge()array_unique()

答案 1 :(得分:3)

$merged = array_unique(array_merge($array1, $array2));

答案 2 :(得分:1)

以下代码可以提供您想要的内容,但问题是您真的希望结果中的键从1开始而不是0吗?如果你不是Arnaud,他的选择是最好的解决方案。

$array1 = array(
    1 => 3,
    2 => 4,
    3 => 1
);

$array2 =  array(
    1 => 3,
    2 => 1,
    3 => 2
);

$values = array_unique(array_merge($array1, $array2));
$keys = array_keys(array_fill_keys($values, ''));
$result = array_combine($keys, $values);
asort($result);

var_dump($result);

答案 3 :(得分:0)

试试这个:

$merged = array_unique(array_merge($array1, $array2));