php array_udiff的用法

$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);

https://img.mukewang.com/5c8f5af00001e24b01480375.jpg

无论是大于还是小于还是等于都没结果
w3c的示例看的脑瓜子疼

撒科打诨
浏览 470回答 3
3回答

阿晨1998

都是字符,你用> 判断肯定不行啊 要么 === 要不 !=

人到中年有点甜

return 0;改为return -1;

扬帆大鱼

$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 输出那么奇怪
打开App,查看更多内容
随时随地看视频慕课网APP