百分号在PHP中意味着什么?
这到底是什么意思?
$number = ( 3 - 2 + 7 ) % 7;
如上所述,它是模数运算符,它返回除法运算的其余部分。
例子: 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的余数。
这是模数运算符 :
$a % $b
=$a % $b
余数除以$b
。
它通常被用来获得“每N个元素一个元素”。 例如,每三个元素只能得到一个元素:
for ($i=0 ; $i<10 ; $i++) { if ($i % 3 === 0) { echo $i . '<br />'; } }
哪获得这个输出:
0 3 6 9
(是的,好的, $i+=3
就可以做到,但这只是一个演示。)
这是模数运算符。 在语句$a % $b
,结果是$a
除以$b
的余数
使用这个操作符,可以很容易地计算出月份中的奇数或偶数,例如,如果需要计划或某事:
<?php echo (date(j) % 2 == 0) ? 'Today is even date' : 'Today is odd date'; ?>
既然有那么多人说“模数find了除数的余数”,那么让我们先来定义一个余数是多less。
在math中,其余部分是执行一些计算后的“剩余”量。 在算术运算中,其余部分是将整数除以另一整数以产生整数商(整数除法)的“剩余”整数。
请参阅: http : //en.wikipedia.org/wiki/Remainder
因此,模数是一种简单的方法:“除法后剩下多less除数?”
要使用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 = 0
:21 / 3 = 7.0 3 * 0 = 0
(3可以用3剩余的0进入21 7次)
21 % 6 = 3
分解21 % 6 = 3
:21 / 6 = 3.5 .5 * 6 = 3
(6次可以进入21次3次,剩余6次)
21 % 8 = 5
分解21 % 8 = 5
:21 / 8 = 2.625 .625 * 8 = 5
(8个可以用8个剩余的625个进入21 2次)
%
表示模量。
模数是math中“余数分裂”的奇特名称。
(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
是分母。 模运算符由于其作为单向函数的特殊特性而常用于公钥密码学 。