![]() |
1
3
许多年前,PHP的创建者犯了一个错误,现在已经太晚了,无法修复,导致三元运算符的“关联性”毫无帮助,这在 the manual page .
所以当你写这篇文章时:
您希望PHP将其理解为:
也就是说,执行第一个测试,然后给出最终结果
但PHP实际上理解为:
换言之,整体第一
所有这些都将评估
|
![]() |
2
2
这是一个运算符优先级问题。 当然,我应该说这不是一个非常干净的代码。无论如何 在备选方案中,尽量使用分号后的括号;
|
![]() |
3
2
它不起作用的原因是PHP处理三元运算符关联性的方式与您预期的不同。从 manual :
因此,您的表达式计算为
= & gt;
= & gt;
因此得到除以0的误差。您需要手动将第二个操作员分组,使其正常工作,即
|
![]() |
Karlo · PHP Sqlite PDO最新版本 4 月前 |
![]() |
Malte · 检查远程服务器上是否存在文件(使用PHP)[关闭] 4 月前 |
![]() |
Bard.Mus · 迁移后的数据库字符集环境 5 月前 |