为什么这个php代码输出一个


Why this php code output one

我有这个php代码与我,我不能弄清楚它可以有人帮助这个。

$x = 3 - 5 % 3;
echo $x;

输出为1。

谢谢

% 3 = 2。

3 - 2 = 1.

有一个特殊的运算符优先级,它导致取模在负号之前求值

这是简单的数学!

先计算

%/*操作符,然后再计算
+ -

5 % 3 = 2 
3 - 2 = 1

如果你想"防止"这个,只需添加一些括号:

$x = (3 - 5) % 3;

答案当然是正确的。PHP解析如下代码3 - (5 % 3)
5 % 32, 3 - 21
5 % 35 /3的余数

这是操作的顺序。如果减法没有括号,则首先求模。试试这个:

$x = (3 - 5) % 3;
echo $x;

%的存在率高于-。查看操作符优先级

BODMAS -括号顺序[^]除法乘法加法减法。
,

3 - 5 % 3

,
5 % 3给出余数为1
第二,
3 - 1,
这就得到了2 .

相关文章: