Dam*_*eem 1 php if-statement shorthand-if control-structure
这不是一个"问题",而是一个"为什么"的问题.
基于以下示例:
echo 'test' . ( true ? : 'some-test' );
Run Code Online (Sandbox Code Playgroud)
为什么结果如此:test1而不是人们所期望的:test.
或者换句话说:为什么是空的返回语句1(或实际true)而不是null?
从PHP 5.3开始,?:可以省略三元运算符的中间部分.
foo ?: bar相当于foo ? foo : bar.所以true ?: ...总是返回第一个true.
foo ? : bar具有"如果是真的"的意思是并且总是无效的,因为这个表达式必须返回一些东西,它不能只返回任何东西.如果有的话,你想要这个:foo ? null : bar.
| 归档时间: |
|
| 查看次数: |
510 次 |
| 最近记录: |