今天看到这样的代码
$order = strtoupper($order) == 'ASC' || empty($order) ? 'ASC' : 'DESC';
我们假设$order 为空字符串,你是否得出这样的结论,结论1?
然而测试结果是...
ASC
看到这样的结果,我开始怀疑了。。 因为我曾经在博客发过对逻辑运算符的探究
经过群内热心网友的解答,才发现没有注意到优先级 三目的顺序比逻辑运算符还小。 因此我们得出结论是看出? :先执行 然而却是||先
$order = strtoupper($order) == 'ASC' || (empty($order) ? 'ASC' : 'DESC');
当把后面括号起来,结果终于是 1 了。。
