PHP:是否使用简短的if语句,而不使用其他语句?

Phi*_*lip 5 php if-statement ternary-operator

我是简短if版本的粉丝,例如:

($thisVar == $thatVar ? doThis() : doThat());
Run Code Online (Sandbox Code Playgroud)

我想删掉else语句,例如:

($thisVar == $thatVar ? doThis());
Run Code Online (Sandbox Code Playgroud)

但是,它将无法正常工作。有什么办法可以让我错过吗?

Joh*_*ica 7

三元运算符旨在产生两个值之一。它是一个表达式,而不是一个语句,您不应该将它用作 if/else 的较短替代方案。

没有办法忽略这个:部分:如果你这样做,表达式的计算结果是什么?

如果您正在调用具有副作用的方法,请使用 if/else。不要走捷径。可读性比保存几个字符更重要。


小智 6

没有,您将无法使用它else。但是您可以尝试以下操作:

($thisVar != $thatVar ?: doThis());
Run Code Online (Sandbox Code Playgroud)

要么

if ($thisVar == $thatVar) doThis();
Run Code Online (Sandbox Code Playgroud)