数组函数

PHP array_uintersect_assoc() 函数

主题:PHP 数组参考上一页|下一页

说明

array_uintersect_assoc() 函数比较两个或多个数组的值,并使用用户定义的值比较函数通过附加键检查返回匹配项。

下表总结了该函数的技术细节。

返回值: 返回一个数组,其中包含 array1 中的所有元素,这些元素的值存在于其他数组的所有 中。
版本: PHP 5+

语法

array_uintersect_assoc() 函数的基本语法如下:

array_uintersect_assoc(array1, array2, ..., value_compare_function);

下面的例子展示了 array_uintersect_assoc() 函数的作用。

<?php
// 定义值比较函数
function compare($a, $b){
    // 将值转换为小写
    $a = strtolower($a);
    $b = strtolower($b);

    if($a == $b){
        return 0;
    }
    return ($a < $b) ? -1 : 1;
}

// 样本数组
$array1 = array("a"=>"apple", "b"=>"ball", "c"=>"cat", "d"=>"dog");
$array2 = array("a"=>"Apple", "B"=>"ball", "c"=>"camel", "d"=>"DOG");

// 计算交点
$result = array_uintersect_assoc($array1, $array2, "compare");
print_r($result);
?>

注意:如果两个值相等,值比较函数必须返回一个等于零的整数,如果第一个值小于第二个值,则返回一个小于零的整数,如果两个值相等,则返回一个大于零的整数。 第一个值大于第二个值。


参数

array_uintersect_assoc() 函数接受以下参数。

参数 说明
array1 必填。 指定要比较的数组。
array2 必填。 指定要比较的数组。
... 可选。 指定要比较的更多数组。
value_compare_function 必填。 指定用于值比较的回调函数。

更多示例

这里还有一些例子展示了 array_uintersect_assoc() 函数是如何工作的:

下面的示例展示了如何使用 PHP 内置的 strcasecmp() 函数作为值比较函数来比较三个数组的值并获取匹配项。

<?php
// 样本数组
$array1 = array("a"=>"apple", "b"=>"ball", "c"=>"cat", "d"=>"dog");
$array2 = array("A"=>"APPLE", "b"=>"BALL", "c"=>"CAMEL", "d"=>"DOG");
$array3 = array("a"=>"Apple", "b"=>"Ball", "c"=>"Cat", "d"=>"Dog");

// 计算交点
$result = array_uintersect_assoc($array1, $array2, $array3, "strcasecmp");
print_r($result);
?>
Advertisements