首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

array_udiff的不解

2014-01-12 
array_udiff的困惑今天看书,书中有一个例子用到了array_udiff,查了下手册,经过测试,还是对其一知半解.$a

array_udiff的困惑
今天看书,书中有一个例子用到了array_udiff,查了下手册,经过测试,还是对其一知半解.

$a = array(1,2,3,4,5);
$b = array(1,6,3,4,5);
echo "<pre>";
print_r(array_udiff($a,$b,function($a,$b){
return ($a === $b)? 0:1;
}));

我希望的得到的结果:
Array
(
    [0] => 2
)

实际结果
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [4] => 5
)

[解决办法]
总是要按规矩来
array_udiff($a, $b, function($a, $b){
  if($a == $b) return 0;
  return $a > $b ? 1 : -1;
})

如果认为第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。

热点排行