2009-12-19 41 views

Trả lời

73

Đây là toán tử modulus, như đã đề cập, trả về phần còn lại của phép toán phân chia.

Ví dụ: 3%5 lợi nhuận 3, như 3 chia cho 5 là 0 bằng một bàn còn lại của 3.

5 % 10 lợi nhuận 5, với cùng lý do, 10 đi vào 5 zero lần với phần còn lại của 5.

10 % 5 trả về 0, vì 10 chia cho 5 đi chính xác 2 lần mà không còn lại.

Trong ví dụ bạn đăng, (3 - 2 + 7) hoạt động ra đến 8, đem lại cho bạn 8 % 7, vì vậy $number sẽ 1, đó là phần còn lại của 8/7.

+1

@zombat - 10% 5 là 0 10 chia cho 5 là 2 với phần còn lại của 0. Modulus là phần còn lại của hoạt động phân chia. –

+0

có, tôi đang gặp sự cố sao chép/dán nghiêm trọng tại đây. Đã bắt được cái đó :) – zombat

+0

Cảm ơn bạn rất nhiều vì đã đặt nó về mặt tôi hiểu! – David

12

Đây là toán tử modulus. Trong báo cáo kết quả $a % $b kết quả là thời gian còn lại khi $a được chia $b

17

Đây là modulus operator:

$a % $b = hát còn lại trong $a chia $b.

Thường được sử dụng để lấy "một phần tử mỗi phần tử N". Ví dụ, để chỉ nhận được một phần tử mỗi ba yếu tố:

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

nào được sản lượng này:

0 
3 
6 
9 

(Yeah, OK, $i+=3 sẽ làm các trick, nhưng đây chỉ là một bản demo .)

4

Sử dụng toán tử này người ta có thể dễ dàng tính toán ngày lẻ hoặc thậm chí trong tháng ví dụ, nếu cần thiết cho mối chuyến bay hoặc một cái gì đó:

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

% nghĩa mô đun.

Mô đun là tên ưa thích cho "phần còn lại sau khi chia" trong toán học.

(numerator) mod (denominator) = (remainder) 

Trong PHP

<?php 
    $n = 13; 
    $d = 7 
    $r = "$n % $d"; 
    echo "$r is ($n mod $d)."; 
?> 

Trong trường hợp này, kịch bản này sẽ echo

6 is (13 mod 7). 

đâu $r là cho thời gian còn lại (câu trả lời), $n cho tử số và $d cho mẫu số . Toán tử mô đun thường được sử dụng trong public-key cryptography do đặc điểm đặc trưng của nó là one-way function.

3

Vì có quá nhiều người nói "mô đun tìm số còn lại của số chia", hãy bắt đầu bằng cách xác định chính xác phần còn lại là gì.

Trong toán học, phần còn lại là số tiền "còn lại" sau thực hiện một số tính toán. Trong số học, phần còn lại là số nguyên "còn sót lại" sau khi chia một số nguyên cho một số nguyên khác để tạo ra một số nguyên nguyên (phân chia số nguyên).

Xem: "Bao nhiêu số chia là còn sót lại sau khi chia" http://en.wikipedia.org/wiki/Remainder

Vì vậy, mô đun là một cách đơn giản để hỏi,

Để sử dụng tính toán của OP của (3 - 2 + 7) = 8 % 7 = 1:

Nó có thể được chia thành:

(3 - 2 + 7) = 8 
8/7 = 1.143 #Rounded up 
.143 * 7 = 1.001 #Which results in an integer of 1 

7 có thể đi vào 8 1 lần với 0,14 của 7 còn sót lại

Đó là tất cả. Tôi hy vọng điều này sẽ giúp đơn giản hóa chính xác mô đun hoạt động như thế nào.


ví dụ bổ sung sử dụng ước khác nhau với 21.

Breakdown của 21 % 3 = 0:

21/3 = 7.0 
3 * 0 = 0 

(3 có thể đi vào 21 7 lần với 0 3 còn sót lại)

Breakdown của 21 % 6 = 3:

21/6 = 3.5 
.5 * 6 = 3 

(6 có thể đi vào 21 3 lần với .5 6 còn sót lại)

Breakdown của 21 % 8 = 5:

21/8 = 2.625 
.625 * 8 = 5 

(8 có thể đi vào 21 2 lần với 0,625 8 còn sót lại)

Các vấn đề liên quan