,使用 array_intersect 求兩個數組的交集比使用 array_diff 求同樣兩個數組的並集要快。
如果要求數組 $a 與數組 $b 的差集的個數,應該使用 count($a) - count(array_intersect($a, $b)),而不要用 count(array_diff($a, $b));
前面要比後者快,在大數組中更為明顯。
array_intersect() 函數返回兩個或多個數組的交集數組。
結果數組包含了所有在被比較數組中,也同時出現在所有其他參數數組中的值,鍵名保留不變。
注釋:僅有值用於比較。
語法
array_intersect(array1,array2,array3...)參數 描述
array1 必需。與其他數組進行比較的第一個數組。
array2 必需。與第一個數組進行比較的數組。
array3 可選。與第一個數組進行比較的數組。可以有多個。
例子
$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 )