array_uintersect_uassoc( )
是 PHP 的内置函数。 array_uintersect_uassoc() 函数使用两个用户定义的函数来比较两个或多个数组的键和值,并返回匹配项。此函数是在 PHP 5.0 中引入的。
语法
array array_uintersect_uassoc ( array $array1 , array $array2 [, array $... ], callable$value_compare_func , callable $key_compare_func );
参数
参数 | 描述 | 必须/可选 |
---|---|---|
array1 | 要比较的数组1。 | 必须 |
array2 | 要比较的数组2。 | 必须 |
array3 | 要比较的数组n或更多。 | 可选 |
value_compare_func | 用于比较值的用户定义函数。 | 必须 |
Key_comapre_function | 用于比较键的用户定义函数。 | 必须 |
返回值
array_uintersect_uassoc( )
函数返回一个数组,其中包含 array1 中所有参数中存在的条目。
重要提示
如果第一个参数是 <、= 或 > 而不是第二个参数,则 function_key 和 function_value 必须返回一个小于 0 的整数 <、= 或 >。
例子1
<?php
function keyfunction($u,$v)
{
if ($u===$v)
{
return 0;
}
return ($u>$v)?1:-1;
}
function valuefunction($u,$v)
{
if ($u===$v)
{
return 0;
}
return ($u>$v)?1:-1;
}
$a1=array("a"=>"Apple","b"=>"Ball","c"=>"Cat");
$a2=array("a"=>"Apple","b"=>"Ball","c"=>"yxjc123");
$result=array_uintersect_uassoc($a1,$a2,"keyfunction","valuefunction");
print_r($result);
?>
输出:
Array ( [a] => Apple [b] => Ball )
例子2
<?php
function userkey($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
function uservalue($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
$a1=array("a"=>"PHP","b"=>"JAVA","c"=>"bluej");
$a2=array("a"=>"PHP","b"=>"JAVA","c"=>"JAVA");
$result=array_uintersect_uassoc($a1,$a2,"userkey","uservalue");
print_r($result);
?>
输出:
Array ( [a] => PHP [b] => JAVA )
例子3
<?php
function mykey($a, $b)
{
if ($a == $b)
return 0;
return ($a > $b) ? 1 : -1;
}
function myvalue($a, $b)
{
if ($a == $b)
return 0;
return ($a > $b) ? 1 : -1;
}
$arr1=array("1"=>"java","2"=>"yxjc123","3"=>"PHP");
$arr2=array("1"=>"java","2"=>"inheritance","3"=>"PHP");
$res = array_uintersect_uassoc($arr1, $arr2, "mykey", "myvalue");
print_r($res);
?>
输出:
Array
(
[1] => java
[3] => PHP
)
(
[1] => java
[3] => PHP
)
例子4
<?php
$arr1 = array("a" => "java", "b" => "php", "c" => "pearl", "swift");
$arr2 = array("a" => "JAVA", "B" => "php", "python", "swift");
print_r(array_uintersect_uassoc($arr1, $arr2, "strcasecmp", "strcasecmp"));
?>
输出:
Array
(
[a] => java
[b] =>php
)
(
[a] => java
[b] =>php
)