在PHP中使用三元运算符(?:)一次评估多个条件的好处/损害是什么?

时间:2014-04-14 13:19:31

标签: php

很难找到用词来表达这个词,但每个使用三元的例子总是使用单一条件

$x = ($x > 1) ? 1 : 0;
$x = (any single evaluation) ? if true : if false;

上面,我发现的所有例子都是结构化的。

我的问题是关于下面的结构,特别是在这里使用&&

$x = (($x > 1) && ($z === 0)) ? 1 : 0;

所以我的问题是,使用我上面最后一个例子的格式是不赞成还是引起问题,因为我从未见过它的使用或其解释的好处/损害。

2 个答案:

答案 0 :(得分:2)

唯一可能的问题是你的病情越复杂,阅读就越难。有一点,它比三元运算符替代方案更容易阅读if( ... ) {$x = 1;} else {$x = 0;}

答案 1 :(得分:0)

这是关于可读性和风格。

我通常只使用三元运算符非常简单的设置

那是:

$x = isset($y) ? $y : "default";

比这更复杂的东西应该转到if语句。


然而,这是我个人的写作风格。采用自己的一个并坚持下去。