这究竟是什么意思?
$number = ( 3 - 2 + 7 ) % 7;
答案 0 :(得分:76)
如上所述,它是modulus运算符,它返回除法运算的剩余部分。
示例:3%5
返回3,因为3除以5是0,其余为3。
5 % 10
返回5,出于同样的原因,10进入5次零次,余数为5次。
10 % 5
返回0,因为10除以5恰好是2次而没有余数。
在您发布的示例中,(3 - 2 + 7)
计算为8,为您提供8 % 7
,因此$number
将为1
,这是8/7的剩余部分。
答案 1 :(得分:18)
$a % $b
=$a
的剩余 除以$b
。
它通常用于获得“每N个元素一个元素”。例如,每三个元素只获得一个元素:
for ($i=0 ; $i<10 ; $i++) {
if ($i % 3 === 0) {
echo $i . '<br />';
}
}
获得此输出:
0
3
6
9
(是的,好的,$i+=3
会完成这个伎俩;但这只是一个演示。)
答案 2 :(得分:12)
这是modulus运营商。在$a % $b
语句中,结果是$a
除以$b
时的余数
答案 3 :(得分:4)
使用此运算符可以轻松计算月中的奇数或偶数天数,例如,如果需要时间表或其他内容:
<?php echo (date(j) % 2 == 0) ? 'Today is even date' : 'Today is odd date'; ?>
答案 4 :(得分:3)
由于很多人都说“模数找到了除数的余数”,所以我们先从确定余数的确切位置开始。
在数学中,余数是之后“遗留”的数量 执行一些计算。在算术中,余数是 将一个整数除以另一个整数后生成的整数“遗留” 整数商(整数除法)。
请参阅:http://en.wikipedia.org/wiki/Remainder
因此,模数是一种简单的方式,“分裂后遗留了多少除数?”
使用OP计算(3 - 2 + 7) = 8 % 7 = 1
:
它可以分解为:
(3 - 2 + 7) = 8 8 / 7 = 1.143 #Rounded up .143 * 7 = 1.001 #Which results in an integer of 1
7可以进入8次1次,剩下7次剩余的.14,
这就是它的全部。我希望这有助于简化模数的确切运作方式。
使用21的不同除数的其他例子。
21 % 3 = 0
的细分:21 / 3 = 7.0 3 * 0 = 0
(3次可以进入21次7次,剩下3次0次)
21 % 6 = 3
的细分:21 / 6 = 3.5 .5 * 6 = 3
(6次可以进入21次3次,剩下6次.5
21 % 8 = 5
的细分:21 / 8 = 2.625 .625 * 8 = 5
(8次可以进入21次,剩余8次的.625次)
答案 5 :(得分:2)
%
表示模数。
模数是&#34;除以后的剩余部分&#34;在数学方面。
(numerator) mod (denominator) = (remainder)
在PHP中
<?php
$n = 13;
$d = 7
$r = "$n % $d";
echo "$r is ($n mod $d).";
?>
在这种情况下,此脚本将回显
6 is (13 mod 7).
$r
用于余数(答案),$n
用于分子,$d
用于分母。模数运算符通常用于public-key cryptography,因为它具有one-way function的特殊性。