(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_diff_ukey — 用回調(diào)函數(shù)對鍵名比較計算數(shù)組的差集
將 array
的鍵與 arrays
的鍵進行比較并返回不存在于其它數(shù)組的鍵值。本函數(shù)和
array_diff() 很像,區(qū)別只是用鍵名來比較而不是值。
此比較是通過用戶提供的回調(diào)函數(shù)來進行的。如果認為第一個參數(shù)小于,等于,或大于第二個參數(shù)時必須分別返回一個小于零,等于零,或大于零的整數(shù)。
array
要比較的數(shù)組
arrays
要比較的數(shù)組
key_compare_func
在第一個參數(shù)小于,等于或大于第二個參數(shù)時,該比較函數(shù)必須相應地返回一個小于,等于或大于 0 的整數(shù)。
返回一個 array,該數(shù)組包含了 array
中存在但其它數(shù)組不存在的鍵值。
示例 #1 array_diff_ukey() 例子
<?php
function key_compare_func($key1, $key2)
{
if ($key1 == $key2)
return 0;
else if ($key1 > $key2)
return 1;
else
return -1;
}
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_diff_ukey($array1, $array2, 'key_compare_func'));
?>
以上例程會輸出:
array(2) { ["red"]=> int(2) ["purple"]=> int(4) }
注意:
注意本函數(shù)只檢查了多維數(shù)組中的一維。當然,可以用
array_diff_ukey($array1[0], $array2[0], 'callback_func');
來檢查更深的維度。