首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[函数]array_udiff()函数—用法及示例

发布于 2025-04-19 10:24:18
0
36

array_udiff() 函数用于比较两个或多个数组的差集,根据用户自定义的回调函数进行比较,并返回差集部分。以下是array_udiff()函数的用法及示例:array_udiff(array1,...

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() 函数打印出差集结果。

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流