对不起另一个noob问题,但是...有人可以向我解释一下myfunction实际上在做什么。我理解它正在检查变量$ a和$ b是否相同,并且如果它们相同但是下一次返回令人困惑,则假设它返回0。我看到他们使用三元运算符。
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"=>"red","b"=>"green","d"=>"blue");
$a3=array("e"=>"yellow","a"=>"red","d"=>"blue");
$result=array_diff_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
print_r返回
Array ( [c] => blue )
但我们是怎么来到这里的......
答案 0 :(得分:1)
正如array_diff_uassoc的文档中所述,它返回第一个参数中与其他参数相比唯一的条目。最后一个参数是用于检查项目是否唯一的函数的名称。
因为只有$ a1包含'c'=>'blue'
才会返回。