php 兩陣列交集 差集

2021-08-25 17:45:20 字數 1882 閱讀 9186

array_intersect -- 計算陣列的交集說明

array array_intersect ( array array1, array array2 [, array ...])

array_intersect() 返回乙個陣列,該陣列包含了所有在 array1 中也同時出現在所有其它引數陣列中的值。注意鍵名保留不變。

例子 1. array_intersect() 例子

<?php

$array1 = array ("a" => "green", "red", "blue");

$array2 = array ("b" => "green", "yellow", "red");

$result = array_intersect ($array1, $array2);

?>

這使得 $result 成為:

array

([a] => green

[0] => red

)array_diff -- 計算陣列的差集說明

array array_diff ( array array1, array array2 [, array ...])

array_diff() 返回乙個陣列,該陣列包括了所有在 array1 中但是不在任何其它引數陣列中的值。注意鍵名保留不變。

例子 1. array_diff() 例子

<?php

$array1 = array ("a" => "green", "red", "blue", "red");

$array2 = array ("b" => "green", "yellow", "red");

$result = array_diff ($array1, $array2);

?>

這使得 $result 成為 array (1 => "blue");。在 $array1 中多次出現的值同樣對待。

注: 兩個單元僅在 (string) $elem1 === (string) $elem2 時被認為是相同的。也就是說,當字串的表達是一樣的時候。

注: 注意此函式僅檢查多維陣列中的一維。當然你可以用 array_diff($array1[0], $array2[0]); 檢查更深的維度。

array_diff_assoc -- 帶索引檢查計算陣列的差集

說明array array_diff_assoc ( array array1, array array2 [, array ...])

array_diff_assoc() 返回乙個 array,返回乙個陣列,該陣列包括了所有在 array1 中但是不在任何其它引數陣列中的值。注意和 array_diff() 不同的是鍵名也用於比較。

例子 1. array_diff_assoc() 例子

<?php

$array1 = array ("a" => "green", "b" => "brown", "c" => "blue", "red");

$array2 = array ("a" => "green", "yellow", "red");

$result = array_diff_assoc($array1, $array2);

/* the result is:

array

([b] => brown

[c] => blue

[0] => red)*/

?>

上面的例子中可以看到鍵值對 "a" => "green" 在兩個陣列中都有,因此不在本函式的輸出中。與此不同,鍵值對 0 => "red" 出現在輸出中是因為第二個引數中的 "red" 的鍵名是 1。

鍵值對 key => value 中的兩個值僅在 (string) $elem1 === (string) $elem2 時被認為相等。也就是說使用了嚴格檢查,字串的表達必須相同。

PHP 交集 並集 差集

array flip array splice 並集 array merge 過濾 array filter 去重 array unique 差集 array diff array diff 函式返回兩個陣列的差集陣列。該陣列包括了所有在被比較的陣列中,但是不在任何其他引數陣列中的鍵值。a1 arr...

PHP對陣列求交集,差集,並集示例

arr1 array 0 zero 1 one 2 two 3 three arr2 array 2 two three three 4 four 5 five 差集 對比返回在 arr1 中但是不在 arr2 及任何其它引數陣列中的值。array diff array diff arr1,arr2...

PHP對陣列求交集,差集,並集示例

arr1 array 0 zero 1 one 2 two 3 three arr2 array 2 two three three 4 four 5 five 差集 對比返回在 arr1 中但是不在 arr2 及任何其它引數陣列中的值。array diff array diff arr1,arr2...