我有一些PHP代码:
echo true ? 'a' : true ? 'b' : 'c';
这个输出是:
B'/ P>
但我预期的输出是:
一
答案 0 :(得分:11)
php中的三元运算符是左关联的。
您需要使用
echo true ? 'a' : (true ? 'b' : 'c');
答案 1 :(得分:2)
因为您的代码评估如下:
echo (true ? 'a' : true) ? 'b' : 'c';
它相当于:
echo (true) ? 'b' : 'c';
然后结果为'b'