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 )