PHP:没有使用短if语句?

时间:2018-02-14 00:10:41

标签: php if-statement ternary-operator

如果简短的if-version,我是粉丝,例如:

($thisVar == $thatVar ? doThis() : doThat());

我想删除else语句,例如:

($thisVar == $thatVar ? doThis());

然而,它不会工作。有没有办法做到我错过了?

2 个答案:

答案 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();