$c = 8 / (12 - 8) * 4;
echo $c; //output 8
我在http://php.net/manual/en/language.operators.precedence.php读到了。我认为它应该是8/16而不是8.有没有人帮我解释,谢谢。
答案 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
这只涉及基本的数学运算