2013-01-18 66 views
2

可能重複:
PHP ternary operator not working as expectedPHP三元操作錯誤

我不知道什麼是錯我的代碼?我的PHP版本是5.4.7。

$b = 'a'; 
$c = 'd'; 
echo $b == 'a' ? 2: $c == 'a' ? 1 : 0; 

output 1 

正確的答案應該是2 .....

非常感謝你的建議。

+7

**語言手冊**明確指出:[建議您避免「疊加」三元表達式。在單個語句中使用多個三元運算符時,PHP的行爲不明顯:](http://us.php.net/ternary#example-121)。 – DCoder

+0

非常感謝你 – Till

回答

8

您需要添加一些括號。

$b = 'a'; 
$c = 'd'; 
echo ($b == 'a') ? 2 : ($c == 'a' ? 1 : 0); 
+0

非常感謝!請問爲什麼這在php中不起作用? – Till

+0

我的意思是我錯了,它應該是正確的js – Till

+2

最好的答案是@DCoder。我建議閱讀他的鏈接。 –