array_udiff_uassoc( )
函数是 PHP 的内置函数。 array_udiff_uassoc( ) 函数比较两个用户自定义函数中的两个或多个数组,并返回一个包含第一个数组存在的元素的其它数组不存在的数组。此函数是在 PHP 5.0 中引入的。
语法
array array_udiff_uassoc ( array $array1 , array $array2 [, array $... ], callable$value_compare_func , callable $key_compare_func );
参数
参数 | 描述 | 必须/可选 |
---|---|---|
array1 | 要比较的数组1。 | 必须 |
array2 | 要比较的数组2。 | 必须 |
array3 | 要比较的更多数组。 | 可选 |
value_compare_func | 用于比较数组值的用户定义函数。 | 必须 |
key_compare_func | 用于比较数组键的用户定义函数。 | 必须 |
返回值
array_udiff_uassoc( ) 函数返回一个数组,其中包含 array1 中不存在于任何其他参数中的所有值。
例子1
<?php
function myfunction1($v1,$v2)
{
if ($v1 === $v2)
{
return 0;
}
return 1;
}
function myfunction2($v1,$v2)
{
if ($v1 === $v2)
{
return 0;
}
return 1;
}
$mobile1 = array("a"=>"samsung","b"=>"oppo","c"=>"vivo");
$mobile2 = array("a"=>"samsung","b"=>"oppo","c"=>"micromax");
print_r(array_udiff_uassoc($mobile1,$mobile2,"myfunction1","myfunction2"));
?>
输出:
Array
(
[c] => vivo
)
(
[c] => vivo
)
例子2
<?php
function myvalue($a, $b)
{
if ($a === $b)
{
return 0;
}
return ($a > $b) ? 1 : -1;
}
function mykey($a, $b)
{
if ($a === $b)
{
return 0;
}
return ($a > $b) ? 1 : -1;
}
$lang1 = array(
"m" => "C ",
"n" => "Java",
"o" => "C#",
"x" => "php",
"y" => "python",
);
$lang2 = array(
"m" => "C",
"b" => "Java",
"c" => "C#",
"x" => "php",
"n" => "python",
);
$result = array_udiff_uassoc($lang1,$lang2, "myvalue", "mykey");
print_r($result);
?>
输出:
Array
(
[m] => C
[n] => Java
[o] => C#
[y] => python
)
(
[m] => C
[n] => Java
[o] => C#
[y] => python
)