如果简短的if-version,我是粉丝,例如:
($thisVar == $thatVar ? doThis() : doThat());
我想删除else语句,例如:
($thisVar == $thatVar ? doThis());
然而,它不会工作。有没有办法做到我错过了?
答案 0 :(得分:4)
三元运算符旨在产生两个值中的一个。这是一个表达,而不是一个陈述,你不应该把它当作if / else的缩写替代。
没有办法省略"<?php echo //$this->helix3->bodyClass($body_classes); ?> off-canvas-menu-init"
部分:如果你这样做,表达式会评估什么值?
如果您正在调用带副作用的方法,请使用if / else 。不要采取捷径。可读性比保存几个字符更重要。
答案 1 :(得分:3)
如果没有else
,您就无法使用它。但你可以试试这个:
($thisVar != $thatVar ?: doThis());
或
if ($thisVar == $thatVar) doThis();