使用 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 可選,與第一個數組進行比較的數組,可以有多個.
PHP實例代碼如下:
- <?php
- $a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
- $a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
- print_r(array_intersect($a1,$a2));
- ?>
- //輸出:Array ( [1] => Dog [2] => Horse )
array_diff() 函數返回兩個數組的差集數組,該數組包括了所有在被比較的數組中,但是不在任何其他參數數組中的鍵值,在返回的數組中,鍵名保持不變.
語法:array_diff(array1,array2,array3...)
參數 描述
array1 必需,與其他數組進行比較的第一個數組.
array2 必需,與第一個數組進行比較的數組.
array3 可選,與第一個數組進行比較的數組.
提示和注釋
提示:可用一個或任意多個數組與第一個數組進行比較.
注釋:僅有值用于比較.
PHP實例代碼如下:
- <?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 )
- //開源代碼Vevb.com
新聞熱點
疑難解答