2009-08-23 72 views
1

這裏得到差元素的情況: 我有2個陣列,例如:PHP函數從兩個陣列

$a=array('a','b','c','d'); 
$b=array('1','b','c','e'); 

我要產生2個陣列,結果是:

$c=array('a','d');//only element appeared on $a 
$d=array('1','e');//only element appeared on $b 

你有一個聰明的解決方案?

回答

2
$c = array_diff($a, $b); 
$d = array_diff($b, $a); 
0

對不起,我的壞。結果發現在我的測試中發生了錯誤的數組。 簡單和array_diff解決了這個問題: $c = array_diff($a, $b); $d = array_diff($b, $a);

0

使用和array_diff嘗試()函數:

array_diff(array1,array2,array3...) 

例如:

<?php 
$a1=array(0=>"Cat",1=>"Dog",2=>"Horse"); 
$a2=array(3=>"Horse",4=>"Dog",5=>"Fish"); 
print_r(array_diff($a1,$a2)); 
?> 

輸出:

Array ([0] => Cat) 

來源:http://www.w3schools.com/PHP/func_array_diff.asp