我在我的代码有嵌套三元运营商这样的:PHP嵌套三元问题
$error = $fault_all ? "ALL" : $fault_twothirds ? "TWOTHIRDS" : $fault_onethird ? "ONETHIRD" : "UNKNOWN";
echo 'STATEERROR: ' . $error . ';';
他们在我的优先顺序列出左到右,所以如果$ fault_all和$ fault_twothirds是真实的,我想将“ALL”分配给$ error;如果所有这些都是真的,那也是一样。如果全部都是错误的,则应将“UNKNOWN”指定为错误。
但是,如果它们中的任何一个为真,则仅返回“ONETHIRD”,如果全部返回假“UNKNOWN”。我如何使“全部”和“TWOTHIRDS”返回?
嵌套三元运算符是不友好的调试。不要使用它们。切换到if/else/etc。 – Quentin 2012-04-16 11:42:11
PHP与嵌套三元运算符相比,其行为与其他语言不同。 [看这里](http://17thdegree.com/archives/2008/01/09/php-and-nesting-ternary-operators/) – 2012-04-16 11:42:41
使用pamentalhesis决定优先 – hjpotter92 2012-04-16 11:45:35