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
)
(
[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
)
(
[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
)
(
[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
)
(
[1] => 53
[2] => 43
)