PHP 数组函数

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
)

例子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
)