1
15
嗯,是吗?和:具有相同的优先级,因此PHP将依次从左到右分析每个位:
弗斯特
“one”为true(非空字符串),因此“two”是最终结果。 |
2
7
基本上,解释器从左到右对该表达式进行计算,因此:
被解释为
parateheses中的表达式的计算结果为true,因为“one”和“two”都不是null/o/其他形式的false。 所以如果它看起来像:
它会印三张。为了使其正常工作,您应该忘记组合三元运算符,并对更复杂的逻辑使用常规的ifs/switch,或者至少使用括号,以便解释程序理解您的逻辑,而不是以标准的ltr方式执行检查:
|
3
5
当您使用括号时,它工作正常:
我不完全理解,但对于口译员来说,没有括号,语句必须如下所示:
第一个条件的结果似乎作为整个三元运算的结果返回。 |
4
1
我认为是这样评价的:
($test='一'?'one“:$test='two')是非零/空的,因此'two'是逻辑输出 如果您希望它正常工作,请写下:
|
5
1
PHP的 documentation 说:
如果在错误的语句周围加上括号,它将打印
|
6
1
三元运算符是按照外观的顺序执行的,因此您真正具有:
|
7
0
嵌套的三元操作很恶心!上面的解释说明了原因。 基本上这是逻辑:
|
Wadu Hek · 查找列表中唯一的重复项 2 年前 |
Johan Klemantan · 带条件的嵌套循环中的lambda 2 年前 |
Sudhanva c · 如何提高编码技能?[已关闭] 6 年前 |
Arie Wijaya · 无法将伪代码转换为java[已关闭] 6 年前 |
Adrian Rotama · 将十进制四舍五入到最接近的十次方的轨道 6 年前 |
Sawbonz · 为什么If语句不适用于Python和Pygame 6 年前 |
Kevin · 根据第一个组合框中插入的数字生成组合框 6 年前 |