3

次のコード構成を検討してください。

condition  ? code_if_true  : 
condition2 ? code_if_true2 : 
             code_if_false;

これは PHP では機能しませんが、JavaScript では機能します。

これをPHPで機能させる方法はありますか?

4

1 に答える 1

8

PHP では、条件演算子は結合 [ PHP.net ]であり、事実上他のすべての言語では右結合です。

そのため、括弧を使用して評価の順序を制御する必要があります1 :

 condition  ? code_if_true  : 
(condition2 ? code_if_true2 : 
              code_if_false ); 

1オペランドが評価されるときではなく、演算子が解決される順序。後者は基本的に未定義[PHP.net]

于 2013-01-27T11:09:33.317 に答える