2011-04-16 43 views
13

我有兩個數組:如何組合兩個數組而不重複值?

array('1','2','3','4'); 
array('4','5','6','7'); 

此基礎上,我想生成一個只包含唯一值的數組:

array('1','2','3','4','5','6','7'); 

有沒有在PHP這方面的任何適當的功能?

回答

28

您可以使用array_merge,然後使用array_unique刪除重複的條目。

$a = array('1','2','3','4'); 
$b = array('4','5','6','7'); 

$c = array_merge($a,$b); 

var_dump(array_unique($c)); 

會導致這樣的:

array(7) { 
    [0]=> 
    string(1) "1" 
    [1]=> 
    string(1) "2" 
    [2]=> 
    string(1) "3" 
    [3]=> 
    string(1) "4" 
    [5]=> 
    string(1) "5" 
    [6]=> 
    string(1) "6" 
    [7]=> 
    string(1) "7" 
} 
+0

您可能還想['sort'(HTTP://英國。 php.net/sort)來獲取他的列表,儘管用字符串數字,詞法和數字排序方面的考慮很奇怪。 – Orbling 2011-04-16 11:36:11

8

是的,它是array_merge()去除的DUP array_unique()

array_unique(array_merge($array1, array2)); 
+0

這會留下重複的條目。 – 2011-04-16 11:34:35

+0

@Felix - YES - 需要使用array_unique() - 速度,速度,速度 – bensiu 2011-04-16 11:36:33

相關問題