0

对不起另一个菜鸟问题,但是......有人可以向我解释一下 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 )

但是我们是怎么到这里的……

4

1 回答 1

1

如array_diff_uassoc的文档中所述,它从第一个参数返回与其他参数相比唯一的条目。最后一个参数是用于检查 item 是否唯一的函数的名称。

所以因为只有 $a1 包含'c'=>'blue'它被返回。

于 2013-10-28T18:21:46.730 回答