(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_diff_ukey — 使用回調函式比較鍵值來計算陣列的差異
比較 array
的鍵與 arrays
的鍵,並返回差異。此函式類似於 array_diff(),只是比較的是鍵而不是值。
與 array_diff_key() 不同的是,索引的比較是使用使用者提供的回呼函式,而不是內建函式。
array
要比較來源的陣列
arrays
要比較的其他陣列
key_compare_func
比較函式必須返回一個整數。如果第一個參數分別小於、等於或大於第二個參數,則返回小於零、等於零或大於零的整數。
返回一個 array,其中包含 array
中所有在其他陣列中不存在的元素。
範例 #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) }
注意:
這個函式只會檢查 n 維陣列的一個維度。當然,您可以使用
array_diff_ukey($array1[0], $array2[0], 'callback_func');
來檢查更深層的維度。