2011-09-08 72 views
0

我想合并这两个数组,只获得唯一的键值。有这个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 

) 
+0

什么ü期待结果 –

+1

得到你想要的*键只有*或* *值的键(在这种情况下,我认为对于一个给定的关键是要在两个相同的值数组)? – Jon

+0

数组与唯一键值合并。例如,我不希望[16] => 16出现两次 – chchrist

回答

0

试试这个:

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

下面的代码peice的确切给出你想要的东西,但问题是你真正想要的结果的钥匙是从1而不是0开始?如果你不想阿诺,他的选择是最好的解决方案。

$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);