= 4.3.0, PHP 5, PHP 7, PHP 8)array_diff_assoc — 帶索引檢查計算數(shù)組的差集說明array_diff_assoc(array $array, array ...$arrays): arrayarray_dif">
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
array_diff_assoc — 帶索引檢查計算數(shù)組的差集
$array
, array ...$arrays
): array
array_diff_assoc() 返回一個數(shù)組,該數(shù)組包括了所有在
array
中但是不在任何其它參數(shù) arrays
中的值。注意和
array_diff() 不同的是鍵名也用于比較。
array
從這個數(shù)組進行比較
arrays
要比較的數(shù)組
返回一個 array,包含所有在
array
中但是不在任何其它參數(shù)數(shù)組中的值。
示例 #1 array_diff_assoc() 例子
上面的例子中可以看到鍵值對 "a" => "green"
在兩個數(shù)組中都有,因此不在本函數(shù)的輸出中。與此不同,鍵值對
0 => "red"
出現(xiàn)在輸出中是因為第二個參數(shù)中的
"red"
的鍵名是 1
。
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
以上例程會輸出:
Array ( [b] => brown [c] => blue [0] => red )
示例 #2 array_diff_assoc() 示例
鍵值對 key => value
中的兩個值僅在 (string) $elem1 === (string)
$elem2
時被認為相等。也就是說使用了嚴格檢查,字符串的表達必須相同。
<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
以上例程會輸出:
Array ( [0] => 0 [1] => 1 )
注意: 注意本函數(shù)只檢查了多維數(shù)組中的一維。當然可以用
array_diff_assoc($array1[0], $array2[0]);
檢查更深的維度。
注意: 使用更多的鍵比較相似數(shù)組時,確保你傳入?yún)?shù)的順序是正確的。 新的數(shù)組應該是在列表里的第一個。