查詢

array_udiff()函式—用法及示例

「 比較兩個或多個陣列的差集,根據使用者自定義的回撥函式進行比較,並返回差集部分 」


array_udiff() 函式用於比較兩個或多個陣列的差集,根據使用者自定義的回撥函式進行比較,並返回差集部分。

以下是array_udiff()函式的用法及示例:

array_udiff(array1, array2, callback)

引數說明:

  • array1: 必需,第一個陣列。
  • array2: 必需,第二個陣列。
  • callback: 必需,用於比較陣列元素的使用者自定義回撥函式。

回撥函式說明:

int callback ( $a, $b )

回撥函式用於比較兩個值 $a$b 的大小,返回值為:

  • $a 小於 $b ,則返回一個負數。
  • $a 大於 $b ,則返回一個正數。
  • $a 等於 $b ,則返回 0。

示例:

// 自定義回撥函式
function compare($a, $b) {
  if ($a == $b) {
    return 0;
  } elseif ($a > $b) {
    return 1;
  } else {
    return -1;
  }
}

// 定義兩個陣列
$array1 = [1, 2, 3, 4, 5];
$array2 = [2, 4, 6];

// 使用 array_udiff() 函式比較兩個陣列的差集
$result = array_udiff($array1, $array2, 'compare');

// 輸出差集部分
echo "<pre>";
print_r($result);
echo "</pre>";

輸出結果:

Array
(
    [0] => 1
    [2] => 3
    [4] => 5
)

在上面的例子中,我們定義了一個自定義的回撥函式 compare() ,用於比較兩個值的大小。然後使用 array_udiff() 函式比較陣列 $array1$array2 的差集,其中差集部分被儲存到 $result 變數中。最後,使用 print_r() 函式列印出差集結果。

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