一尘不染

三元运算符使用哪种编码风格?[关闭]

php

如果很短,我将其放在一行中。最近,我一直在将这种样式用于较长或嵌套的三元运算符表达式。一个人为的例子:

$value = ( $a == $b ) 
            ? 'true value # 1'
            : ( $a == $c )
                ? 'true value # 2'
                : 'false value';

您个人使用哪种样式,或者最易读?

编辑:( 关于何时使用三元运算符)

我通常避免使用2个以上级别的三元运算符。当我在PHP模板脚本中回显变量时,与2级if-else相比,我倾向于2级深度三元运算符。


阅读 311

收藏
2020-05-29

共1个答案

一尘不染

通常应避免使用三元运算符,但是这种形式可以很容易理解:

  result = (foo == bar)  ? result1 :
           (foo == baz)  ? result2 :
           (foo == qux)  ? result3 :
           (foo == quux) ? result4 : 
                           fail_result;

这样,将条件和结果保持在同一行上,就可以轻松浏览并了解正在发生的事情。

2020-05-29