PHP 数组函数

array_uintersect() 是 PHP 中的一个内置函数。它用于根据值计算两个或多个数组的交集。在用户定义的函数的帮助下,第一个数组值与所有其他数组进行比较,并返回匹配项。此函数是在 PHP 5.0 中引入的。

语法

array array_uintersect ( array $array1 , array $array2 [, array $... ], callable$value_compar_func ); 

参数

参数描述必须/可选
数组1要比较的数组。必须
数组2要比较的数组。必须
数组3要比较的数组更多。可选
值比较函数比较函数名。必须

返回

array_uintersect( ) 函数返回一个数组,其中包含 array1 中存在于所有其他数组中的条目。

例子1

<?php
function callbackfunction($a, $b)
{
    if ($a===$b)
    {
        return 0;
    }
    return ($a>$b)?1:-1;
}
$test1=array("a"=>"manual", "b"=>"selenium", "d"=>"jmeter");
$test2=array("d"=>"automation", "e"=>"jmeter", "f"=>"beta");
$result=array_uintersect($test1, $test2, "callbackfunction");
print_r($result);
?> 

输出:

Array
(
[d] =>jmeter
)

例子2

<?php
function userfunction($v1,$v2) 
{
    if ($v1===$v2)
    {
	return 0;
    }
    return( $v1>$v2)?1:-1;
}
$lang1=array("a"=>"java","b"=>"c","c"=>"php");
$lang2=array(1=>"java",2=>"c",3=>"csharp");
print_r(array_uintersect($lang1,$lang2,"userfunction"));
?> 

输出:

Array
(
[a] => java
[b] => c
)

示例 3

<?php
$lang1 = array("a" => "java", "b" => "php", "c" => "perl", "python");
$lang2 = array("a" => "JAVA", "B" => "php", "c", "python");
print_r(array_uintersect($lang1, $lang2, "strcasecmp"));
?> 

输出:

Array
(
[a] => java
[b] =>php
[0] => python
)

例子4

<?php
function callback($v1, $v2) 
{
	if ($v1 === $v2) 
	{
		return 0;
	} 
	return($v1>$v2)?1:-1;
}
$score1 = array(40, 53, 43, 23);
$score2 = array(53, 40, 42, 43);
$score3 = array(34, 53, 43, 32);
$score_intersect = array_uintersect($score1, $score2, $score3, "callback");
print_r($score_intersect);
?> 

输出:

Array
(
[1] => 53
[2] => 43
)