2013-05-03 61 views
2

我有兩個這樣的數組。比較兩個數組並獲得所有差異

$array1=array(1,2,3,4,5,7); 
$array2=array(1,2,3,4,5,6); 

因此,輸出應該帶來兩個陣列的差異。

輸出應該是。

1,2,3,4,5 - >這兩個數字都存在於兩個數組中,因此這些應該被忽略

7和6 - >這些數字在兩個數組中都是不常見的,所以我需要這些數組中的值。

輸出應該是7 & 6.

幫我個忙。我試過array_diff和其他數組元素。

+0

庵,和array_diff返回數組。那麼爲什麼你不能使用它返回的數組呢? – 2013-05-03 09:55:03

+0

那麼請向我們展示一些您似乎很難處理的工作,然後人們會很樂意幫助您,因爲目前看起來您希望我們做好功課。 – 2013-05-03 09:56:08

+0

Puciek - 我已經完成了我的功課,並且我已經爲那些關心並回復正面答覆的人提出了這個問題。甚至不提供任何___評論。謝謝 – hjaffer2001 2013-05-03 10:00:40

回答

8

試試這個

array_merge(array_diff($array1,$array2),array_diff($array2,$array1)) 
+0

非常好。工作很好! – hjaffer2001 2013-05-03 09:58:45

+3

我不知道是否array_diff(array_merge($ array1,$ array2),array_intersect($ array1,$ array2))會更快。 – alexpirine 2013-05-03 09:59:04

1
foreach($array1 as $key => $value) { 
    if($value != $array2[$key]) { 
     echo "\$array1[" . $key . "] (" . $value . ") is different to \$array2[" . $key . "] (" . $array2[$key] . "<br />"; 
    } 
}