2009-12-19 40 views

回答

73

它是modulus運算符,如前所述,它返回除法運算的其餘部分。

實例:3%5返回圖3,作爲3除以5是0與3。

5 % 10返回5剩餘部分,由於相同的原因,10進入5倍零用的5

剩餘

10 % 5返回0,因爲除以5的10次精確地2次而沒有餘數。

在您發佈的例子,(3 - 2 + 7)工程以8,給你8 % 7,所以$number1,這是的8/7剩餘部分。

+1

@zombat - 10%5是0至10除以5是2具有0模的剩餘部分是剩餘分工操作。 – 2009-12-19 21:30:12

+0

是的,我在這裏有嚴重的複製/粘貼問題。已經抓住了那一個:) – zombat 2009-12-19 21:31:41

+0

非常感謝你把它放在我的理解! – David 2010-02-11 04:07:14

12

這是modulus操作。在聲明$a % $b結果是剩餘時$a$b

17

劃分它是modulus operator

=餘的 $a

$a % $b除以$b

它通常用於獲得「每N個元素中的一個元素」。例如,只得到一個元素每三個要素:

for ($i=0 ; $i<10 ; $i++) { 
    if ($i % 3 === 0) { 
     echo $i . '<br />'; 
    } 
} 

它得到這樣的輸出:

0 
3 
6 
9 

(是啊,OK,$i+=3會做的伎倆,但是這只是一個演示)

4

使用該運營商可以很容易地計算出奇數或偶數天月例如,如果需要安排什麼:

<?php echo (date(j) % 2 == 0) ? 'Today is even date' : 'Today is odd date'; ?> 
1

%意味着模量。

模數是數學中「除數餘數」的奇特名稱。

(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

3

既然有這麼多人說「模數找到了除數的餘數」,那麼讓我們開始定義一個餘數是多少。

在數學中,餘數是 執行一些計算後的「剩餘」量。在算術運算中,餘數是 整數在將一個整數除以另一整數以產生整數商(整數除法)的 之後的「剩餘」。

參見:「分割後如何除數的很多遺留下來的」 http://en.wikipedia.org/wiki/Remainder

所以模量要求,一個簡單的方法

要使用的(3 - 2 + 7) = 8 % 7 = 1的OP的計算:

可以細分爲:

(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剩餘

0.14

這就是它的全部。我希望這有助於簡化模數的工作方式。


使用不同除數與21擊穿21 % 3 = 0

其它實例:

21/3 = 7.0 
3 * 0 = 0 

(3可以進入21 7次,0的3剩)

擊穿的 21 % 6 = 3

21/6 = 3.5 
.5 * 6 = 3 

(6可進入21 3次0.5的6剩)

擊穿的 21 % 8 = 5

21/8 = 2.625 
.625 * 8 = 5 

(8可以進入21 2次0.625 8剩)

相關問題