溫馨提示×

php比較數(shù)組差異的方法array_udiff

PHP
小樊
83
2024-09-06 00:46:24
欄目: 編程語言

array_udiff() 是 PHP 中的一個內(nèi)置函數(shù),用于比較兩個或多個數(shù)組的差異。這個函數(shù)接受一個回調(diào)函數(shù)作為參數(shù),該回調(diào)函數(shù)用于定義如何比較數(shù)組元素。

array_udiff() 函數(shù)的語法如下:

array_udiff(array $array1, array $array2, [array $...], callable $value_compare_func): array

其中:

  • $array1, $array2, … 是要比較的數(shù)組。
  • $value_compare_func 是一個回調(diào)函數(shù),用于比較數(shù)組元素。這個函數(shù)應(yīng)該返回一個整數(shù),表示兩個元素的比較結(jié)果。如果返回值為 0,則表示兩個元素相等;如果返回值為正數(shù),則表示第一個元素大于第二個元素;如果返回值為負數(shù),則表示第一個元素小于第二個元素。

下面是一個使用 array_udiff() 的示例:

<?php
function compare_values($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a > $b) ? 1 : -1;
}

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(3, 4, 5, 6, 7);

$diff = array_udiff($array1, $array2, 'compare_values');

print_r($diff);
?>

輸出結(jié)果:

Array
(
    [0] => 1
    [1] => 2
)

在這個示例中,我們定義了一個名為 compare_values 的回調(diào)函數(shù),用于比較數(shù)組元素。然后,我們使用 array_udiff() 函數(shù)比較 $array1$array2,并將結(jié)果存儲在 $diff 變量中。最后,我們使用 print_r() 函數(shù)輸出結(jié)果,顯示 $array1$array2 之間的差異。

0