PHP和*之间的优先运算符

时间:2017-07-19 06:46:08

标签: operator-keyword operator-precedence

$c = 8 / (12 - 8) * 4;

echo $c; //output 8

我在http://php.net/manual/en/language.operators.precedence.php读到了。我认为它应该是8/16而不是8.有没有人帮我解释,谢谢。

2 个答案:

答案 0 :(得分:0)

$ c = 8 /(12 - 8)* 4;

echo $ c; //输出8

因为(12 - 8)等于4,它将首先执行。执行完毕后我们将获得

$ c = 8/4 * 4;

之后结果将是2 * 4 php将执行8/4并给出结果2。 最后结果将是8。

在此代码中,括号将获得优先级,然后是除法,最后是乘法。

答案 1 :(得分:0)

运营商的优先顺序从高到低:/ == *> -

但是()会强制执行最高优先级。

具有相同优先级的操作符,操作顺序将从左到右。

所以,操作过程是:      <?php $c = 8 / (12 - 8) * 4; // Give priority to parentheses inside $c = 8 / 4 * 4; // 12 - 8 ==> 4 // operators with precedence, from left to right $c = 2 * 4; // 8 / 4 ==> 2 $c = 8; // 2 * 4 ==> 8

这只涉及基本的数学运算