正如PHP手册所示,以下运算符具有相同的优先级(左关联性):
* / %
所以,这意味着:
echo 2 / 5 * 3
必须显示7.5!因为乘法将首先执行,5 * 3 = 15
然后商将除以2.
但是当我运行该代码时,PHP代码输出1.2!
有人可以了解发生了什么吗?
答案 0 :(得分:3)
相同的优先级意味着一切都将从左到右发生。
意味着它不会先成倍增加。手册中* / %
的编写顺序并不重要。
另外,根据你的逻辑,你应该得到1.(3)但这不是重点。
答案 1 :(得分:1)
执行算术运算命令。其中称为PEMDAS
()
- 方括号/
- 偏差*
- 乘法+
- 添加-
- min 这将在订单
上方(2 / 5 * 3
)执行
这里发生了什么 2 / 5 * 3
2/5
= 0.4 0.4*3
= 1.2 满足您的要求
5 * 3
= 15 15 / 2
= 7.5 所以你必须(5 * 3) / 2
或2 / (5 * 3)
答案 2 :(得分:0)
它是从左到右 五分之二= 0.4 0.4 * 3 = 1.2
答案 3 :(得分:0)
正如您在此处所见:http://php.net/manual/en/language.operators.precedence.php
运算符* /和%具有相同的优先级。 *与/.
具有相同的优先级