为了账号安全,请及时绑定邮箱和手机立即绑定

php array_udiff的用法

php array_udiff的用法

PHP
撒科打诨 2019-03-17 03:45:11
$a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"blue","b"=>"black","e"=>"blue"); $a1=array("a"=>"4","b"=>"5","c"=>"6"); $a2=array("a"=>"5","b"=>"7","e"=>"9"); $test=array_udiff($a1, $a2, function($a, $b){ var_dump($a); var_dump($b); var_dump($a>$b); if($a>$b){ return 1; }else{ return 0; } }); var_dump($test); 无论是大于还是小于还是等于都没结果w3c的示例看的脑瓜子疼
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

都是字符,你用> 判断肯定不行啊

要么 === 要不 !=

查看完整回答
反对 回复 2019-03-18
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

return 0;
改为
return -1;

查看完整回答
反对 回复 2019-03-18
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

$a1=array("a"=>"4","b"=>"5","c"=>"6");
$a2=array("a"=>"5","b"=>"7","e"=>"9");
$test=array_udiff($a1, $a2, function($a, $b){
    var_dump($a);
    var_dump($b);
    if($a == $b)
    {
        return  0;
    }
    if($a>$b){
        return 1;
    }else{
        return -1;
    }
});
var_dump($test);

该函数必须根据实际情况返回 0, 1, -1 这三种值,才能正确计算出差集
虽然我也不懂 为什么传入的$a $b 输出那么奇怪

查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 469 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信