📜  PHP | array_uintersect_assoc()函数(1)

📅  最后修改于: 2023-12-03 15:18:21.532000             🧑  作者: Mango

PHP | array_uintersect_assoc()函数

简介

array_uintersect_assoc()函数用于比较两个或多个数组的键值,并返回一个数组,该数组包含了所有键值在每个参数数组中都存在的值。

该函数与array_intersect_assoc()函数类似,但是它使用了用户自定义的比较函数来比较数组的键值。

语法
array_uintersect_assoc(array1, array2, ..., compare_func)
参数
  • array1: 必需,第一个数组。

  • array2: 可选,第二个数组。

  • compare_func: 必需,用户自定义的比较函数。该函数将比较参数中的值,并返回相等的值。

    该函数的定义如下:

    int compare_func ( mixed $a, mixed $b )
    
返回值

该函数返回一个数组,该数组包含了所有键值在每个参数数组中都存在的值,键值的顺序保持不变。

示例
示例一

以下示例演示了如何使用array_uintersect_assoc()函数找到数组中的所有交集,使用strcasecmp()函数进行比较:

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

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("A"=>"red","B"=>"GREEN","C"=>"blue","D"=>"yellow");

$result=array_uintersect_assoc($a1, $a2, "myfunction");
print_r($result);
?>

代码输出:

Array
(
    [a] => red
    [c] => blue
    [d] => yellow
)
示例二

以下示例演示了如何使用array_uintersect_assoc()函数找到数组中的所有交集,使用strcmp()函数进行比较:

<?php
function myfunction($a, $b)
{
    return strcmp($a, $b);
}

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("A"=>"red","B"=>"GREEN","C"=>"blue","D"=>"yellow");

$result=array_uintersect_assoc($a1, $a2, "myfunction");
print_r($result);
?>

代码输出:

Array
(
    [a] => red
)
注意事项
  • 比较函数应该返回以下值之一:
    • 如果$a等于$b,则返回0(整数类型)。
    • 如果$a大于$b,则返回1(整数类型)。
    • 如果$a小于$b,则返回-1(整数类型)。
  • 如果两个值相等,则表示它们在比较的意义下等价,并将被视为相等。