array_intersect_assoc
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
array_intersect_assoc — 帶索引檢查計算陣列的交集
說明
array_intersect_assoc(array
$array
, array ...$arrays
): array
array_intersect_assoc() 返回一個陣列,該陣列包含了所有在
array
和其它參數陣列中同時存在的值。注意和
array_intersect() 不同的是,鍵名也用於比較。
參數
-
array
-
要檢查的陣列,作為主值。
-
arrays
-
要被對比的陣列。
返回值
返回一個關聯陣列,該陣列包含了所有在
array
和其它參數陣列中同時存在的值。
範例
示例 #1 array_intersect_assoc() 例子
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "blue", "red");
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>
以上例程會輸出:
Array ( [a] => green )
上面例子中可以看到,只有鍵值對 "a" =>
"green"
在兩個陣列中都存在,從而被返回。
值 "red"
沒有被返回,是因為在
$array1 中它的鍵名是 0
而在 $array2 中 "red" 的鍵名是
1
,鍵 "b"
沒有返回的原因是,它的值和其他陣列不同。
僅在 (string) $elem1 === (string) $elem2
時,
key => value
才被認為是相等的。
也就是說使用了嚴格的型別檢查,字串的表達形式必須相同。
參見
- array_intersect() - 計算陣列的交集
- array_uintersect_assoc() - 帶索引檢查計算陣列的交集,用回撥函式比較數據
- array_intersect_uassoc() - 帶索引檢查計算陣列的交集,用回撥函式比較索引
- array_uintersect_uassoc() - 帶索引檢查計算陣列的交集,用單獨的回撥函式比較數據和索引
- array_diff() - 計算陣列的差集
- array_diff_assoc() - 帶索引檢查計算陣列的差集