array_diff_ukey
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
array_diff_ukey — 用回撥函式對鍵名比較計算陣列的差集
說明
   將 array 的鍵與 arrays
   的鍵進行比較並返回不存在於其它陣列的鍵值。本函式和
   array_diff() 很像,區別只是用鍵名來比較而不是值。
  
此比較是通過使用者提供的回撥函式來進行的。如果認為第一個參數小於,等於,或大於第二個參數時必須分別返回一個小於零,等於零,或大於零的整數。
參數
- 
array
- 
      要比較的陣列 
- 
arrays
- 
      要比較的陣列 
- 
key_compare_func
- 
      在第一個參數小於,等於或大於第二個參數時,該比較函式必須相應地返回一個小於,等於或大於 0 的整數。 
返回值
   返回一個 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)
}
註釋
注意:
注意本函式只檢查了多維陣列中的一維。當然,可以用
array_diff_ukey($array1[0], $array2[0], 'callback_func');來檢查更深的維度。
參見
- array_diff() - 計算陣列的差集
- array_udiff() - 用回撥函式比較數據來計算陣列的差集
- array_diff_assoc() - 帶索引檢查計算陣列的差集
- array_diff_uassoc() - 用使用者提供的回撥函式做索引檢查來計算陣列的差集
- array_udiff_assoc() - 帶索引檢查計算陣列的差集,用回撥函式比較數據
- array_udiff_uassoc() - 帶索引檢查計算陣列的差集,用回撥函式比較數據和索引
- array_diff_key() - 使用鍵名比較計算陣列的差集
- array_intersect() - 計算陣列的交集
- array_intersect_assoc() - 帶索引檢查計算陣列的交集
- array_intersect_uassoc() - 帶索引檢查計算陣列的交集,用回撥函式比較索引
- array_intersect_key() - 使用鍵名比較計算陣列的交集
- array_intersect_ukey() - 在鍵名上使用回撥函式來比較計算陣列的交集