我有这个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 % 3
是2
, 3 - 2
是1
5 % 3
是5 /3
的余数
这是操作的顺序。如果减法没有括号,则首先求模。试试这个:
$x = (3 - 5) % 3;
echo $x;
%
的存在率高于-
。查看操作符优先级
BODMAS -括号顺序[^]除法乘法加法减法。
,
3 - 5 % 3
, 5 % 3
给出余数为1
第二,3 - 1
,
这就得到了2
.