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