查詢

array_uintersect()函式—用法及示例

「 計算兩個或多個陣列的交集,使用使用者自定義的回撥函式來比較陣列的值 」


array_uintersect() 函式用於計算兩個或多個陣列的交集,使用使用者自定義的回撥函式來比較陣列的值。

用法:

array_uintersect(array $array1, array $array2, callable $callback) : array

引數說明:

  • $array1:第一個陣列。
  • $array2:第二個陣列。
  • $callback:使用者自定義的回撥函式,用於比較陣列的值。該函式應接受兩個引數,並返回一個整數值:
    • 如果返回值小於 0,則表示第一個引數小於第二個引數。
    • 如果返回值等於 0,則表示第一個引數等於第二個引數。
    • 如果返回值大於 0,則表示第一個引數大於第二個引數。

返回值: 返回一個包含交集值的新陣列。

示例:

// 定義一個回撥函式來比較陣列的值
function compareValues($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

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

// 呼叫 array_uintersect() 函式獲取交集
$result = array_uintersect($array1, $array2, 'compareValues');

// 輸出結果
echo '<pre>';
print_r($result);
echo '</pre>';

輸出結果:

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

在上面的示例中,我們定義了一個回撥函式 compareValues(),它比較兩個值是否相等。然後,呼叫 array_uintersect() 函式來計算 $array1$array2 的交集,使用 compareValues() 函式進行比較。最後,透過使用 <pre> 標籤來格式化輸出結果陣列。在這個例子中,交集結果是 [4, 5]

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