簡介
什麼是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]); 檢查更深的維度。