查詢

array_diff_ukey()函式—用法及示例

「 比較兩個或多個陣列的鍵值,並返回在第一個陣列中存在而其他陣列中不存在的鍵值 」


函式名稱:array_diff_ukey()

函式描述:該函式用於比較兩個或多個陣列的鍵值,並返回在第一個陣列中存在而其他陣列中不存在的鍵值。

用法:

array_diff_ukey(array $array1, array $array2, array ...$arrays, callable $key_compare_func): array

引數:

  • $array1: 必需。作為比較基準的第一個陣列。
  • $array2: 必需。要比較的第二個陣列。
  • $arrays: 可選。要比較的其他陣列。
  • $key_compare_func: 必需。一個使用者自定義的函式,用來比較陣列鍵名的差異。

返回值:

  • 返回一個新陣列,包含了在 $array1 中存在但其他陣列中不存在的鍵值對。

示例:

// 自定義回撥函式,比較陣列的鍵名
function compareKeys($key1, $key2) {
  if ($key1 === $key2) {
    return 0;
  } elseif ($key1 > $key2) {
    return 1;
  } else {
    return -1;
  }
}

// 定義陣列
$array1 = array("a" => "apple", "b" => "banana", "c" => "orange");
$array2 = array("a" => "apple", "d" => "pear");
$array3 = array("e" => "grape", "f" => "peach");

// 使用 array_diff_ukey() 函式比較鍵名差異
$result = array_diff_ukey($array1, $array2, $array3, 'compareKeys');

// 輸出結果
foreach ($result as $key => $value) {
  echo "<p>鍵名: " . $key . ", 值: " . $value . "</p>";
}

以上示例中,我們定義了三個陣列 $array1、$array2 和 $array3。然後,我們使用 array_diff_ukey() 函式來比較這些陣列的鍵名差異,使用自定義的 compareKeys() 函式作為回撥函式進行比較。最後,我們遍歷結果陣列並輸出鍵名和對應的值。

輸出結果:

鍵名: b, 值: banana
鍵名: c, 值: orange

上例中,$array1 的鍵名 "b" 和 "c" 在 $array2 和 $array3 中是不存在的。因此,array_diff_ukey() 函式返回了包含了這兩個鍵值對的結果陣列。

補充糾錯
上一個函式: array_diff_uassoc()函式
下一個函式: array_fill()函式
熱門PHP函式
分享連結