Dur*_*gka 2 php conditional-operator
请考虑以下代码构造:
condition ? code_if_true :
condition2 ? code_if_true2 :
code_if_false;
Run Code Online (Sandbox Code Playgroud)
这不适用于PHP,而适用于JavaScript。
有没有一种方法可以使此功能适用于PHP?
在PHP中,条件运算符的左 -associative [PHP.net] ,比几乎所有其他语言的地方是右结合。
这就是为什么您需要使用括号来控制求值顺序1的原因:
condition ? code_if_true :
(condition2 ? code_if_true2 :
code_if_false );
Run Code Online (Sandbox Code Playgroud)
1解析运算符的顺序,而不是计算操作数时的解析顺序。后者基本上是未定义的 [PHP.net]
| 归档时间: |
|
| 查看次数: |
4068 次 |
| 最近记录: |