簡介
什麼是array_diff_assoc
array_diff_assoc
(PHP 4 >= 4.3.0, PHP 5)
array_diff_assoc -- 帶索引檢查計算數組的差集
說明
array array_diff_assoc ( array array1, array array2 [, array ...] )
語法
array_diff_assoc( array1,array2,array3...);
參數 | 描述 |
array1 | 必需。與其他數組進行比較的第一個數組。 |
array2 | 必需。與第一個數組進行比較的數組。 |
array3,... | 可選。與第一個數組進行比較的其他數組。 |
技術細節
返回值: | 返回一個差集數組,該數組包括了所有在被比較的數組( array1)中,但是不在任何其他參數數組( array2或 array3 等等)中的鍵名和鍵值。 |
PHP 版本: | 4.3+ |
例子
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);
?>
上例將輸出:
Array
(
[b]=> brown
[c] => blue
[0] => red
)
上面的例子中可以看到鍵值對 "a" => "green" 在兩個數組中都有,因此不在本函式的輸出中。與此不同,鍵值對 0 => "red" 出現在輸出中是因為第二個參數中的 "red" 的鍵名是 1。
鍵值對 key => value 中的兩個值僅在 (string) $elem1 === (string) $elem2 時被認為相等。也就是說使用了嚴格檢查,字元串的表達必須相同。
注: 注意本函式只檢查了多維數組中的一維。當然可以用 array_diff_assoc($array1[0], $array2[0]); 檢查更深的維度。
參見 array_diff(),array_intersect() 和 array_intersect_assoc()。