phpif里面用逗号隔开的表达式如何理解

private function verifyHandle($id)
{
    $verify = new Verify();
    if (!$verify->check(I('post.verify_code'), $id ? $id : 'user_login')) {
        $this->error("验证码错误");
    }
}

    上面if条件这个如何理解 ,
    谢谢,~~~

这是函数调用,每个逗号是函数的一个参数
$id ? $id : 'user_login'
是一个三元条件判断表达式

if 中的条件如下:
!$verify->check(I('post.verify_code'), $id ? $id : 'user_login')
!:表示“非”;
$verify->check()方法中有两个参数,
第一个是:I('post.verify_code')
第二个是:三元条件表达式判断的结果。$id ? $id : 'user_login' 如果$id为真,则为$id, $id为假时,此时参数为user_login

 $verify->check(I('post.verify_code')

你把它看成一个参数

 $id ? $id : 'user_login'

这个是三元运算 回答完毕