【发布时间】:2016-07-06 13:41:39
【问题描述】:
在使用相同的货币“egp”时获得 2 个不同的输出
$currency = ($q->currency == 'egp')? '£' : (($q->currency == 'usd') ? '$' : '€');
这一行输出$
$currency = ($q->currency == 'egp')? '£' : ($q->currency == 'usd') ? '$' : '€';
这个输出£
我找不到原因?
注意:唯一的区别是第二个三元运算符语句周围的()
【问题讨论】:
-
去掉多余的()会导致运算符的优先级发生变化。如果你需要做这种事情,我通常建议切换到
if elseif else标准语法,以便于使用、可读性和理解性。 -
三元运算非常棒,用于简短的检查。嵌套三元运算应该是非法的。