array_udiff — 用回调函数比较数据来计算数组的差集
array_udiff( $array1, $array2 [, $array3 ..., $data_compare_func] );
它使用回调函数进行数据比较来计算数组的差值,并返回一个数组,其中包含array1中所有其他参数中不存在的所有值。和 array_diff() 不同的是,前者使用内置函数进行数据比较。
| 序号 | 参数及说明 |
|---|---|
| 1个 | array1(必填) 它指定一个数组。 |
| 2 | array2(必填) 它指定要与第一个数组进行比较的数组。 |
| 3 | array3(选填) 它指定要与第一个数组进行比较的数组。 |
| 4 | data_compare_func(必填) 用户自定义函数的名称。 |
它返回一个数组,返回 array1 里没有出现在其他参数里的所有值。
使用自定义函数比较两个数组
<?php
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");
$result=array_udiff($a1,$a2,"myfunction");
print_r($result);
?>测试看看‹/›输出结果:
Array ( [a] => red [b] => green )