【发布时间】:2011-11-09 08:36:06
【问题描述】:
我看到过建议说三元运算符不能嵌套。
我已经测试了下面的代码,它工作正常。我的问题是,我以前从未见过这样使用过的三元运算符。那么,这是否像在if 中使用的那样可靠,或者类似的东西以后会咬我(不是在条款或可读性方面,而是通过失败)。
$rule1 = true;
$rule2 = false;
$rule3 = true;
$res = (($rule1 == true) && ($rule2 == false) && ($rule3 == true)) ? true : false;
if($res) {
echo "good";
} else {
echo "fail";
}
谢谢!
【问题讨论】:
-
实际上你不需要
? true : false部分...你基本上会做类似于true ? true : false的事情,这是多余的。 -
这里没有错 - 很好
-
@Gordon:堆叠不是在做类似
(condition) ? true : (condition) ? true : false的事情吗? -
animuson 和 gordon 都在这一点上——如果你想清理代码,请参见下文。
标签: php if-statement ternary-operator