【发布时间】:2014-06-14 01:06:05
【问题描述】:
这并不完全是一个“问题”,而是一个“为什么”的问题。
基于以下示例:
echo 'test' . ( true ? : 'some-test' );
为什么会出现这样的结果:test1,而不是人们所期望的:test。
或者换句话说:为什么是一个空的返回语句1(或者实际上是true)而不是null?
【问题讨论】:
-
它正在回显 test1 因为当您回显它时 true 始终为 1。尝试将 true 替换为 false。猜猜会发生什么?
-
试试 echo 'test' 。 (真的?'':'一些测试');因为 true 总是返回 1
-
我明白。真正的问题是:为什么一个空值首先返回为真。如果我这样做了
(true ? true : 'some-test'),我会期待这个 -
@RakeshSharma 我知道如何避免这种情况。如前所述,这不是“问题”。我只是很好奇为什么首先返回 true 而不是 null。
-
哦,有你的问题
标签: php if-statement control-structure shorthand-if