2011-09-08 69 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);