これは正確にはどういう意味ですか?
$number = ( 3 - 2 + 7 ) % 7;
前述のように、除算の剰余を返すのは剰余演算子です。
例: 3%5
3 を 5 で割ると 0 で余りが 3 になるため、3 を返します。
5 % 10
は 5 を返します。同じ理由で、10 は 5 の 0 回に 5 が残ります。
10 % 5
10 を 5 で割るとちょうど 2 回になり、余りがないため、0 を返します。
あなたが投稿した例では、(3 - 2 + 7)
は 8 になり、 になります。8 % 7
これは 8/7 の残りです。$number
1
それは剰余演算子です:
$a % $b
= で$a
割った余り$b
。
「N 要素ごとに 1 要素」を取得するためによく使用されます。たとえば、3 つの要素ごとに 1 つの要素のみを取得するには、次のようにします。
for ($i=0 ; $i<10 ; $i++) {
if ($i % 3 === 0) {
echo $i . '<br />';
}
}
次の出力が得られます。
0
3
6
9
(ええ、OK、$i+=3
トリックを行ったはずですが、これは単なるデモでした。)
モジュラス演算子です。このステートメントでは、 を で割っ$a % $b
たときの余りが結果になります。$a
$b
この演算子を使用すると、たとえば、スケジュールなどで必要な場合に、月の奇数日または偶数日を簡単に計算できます。
<?php echo (date(j) % 2 == 0) ? 'Today is even date' : 'Today is odd date'; ?>
非常に多くの人が「剰余は除数の剰余を見つける」と言うので、剰余とは何かを正確に定義することから始めましょう。
数学では、剰余は、何らかの計算を実行した後に「残った」量です。算術では、剰余は、 1 つの整数を別の整数で割って整数商 (整数除算) を生成した後に "残った" 整数です。
参照: 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 の 0.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 のうち 0.5 はあります)
内訳
21 % 8 = 5
:21 / 8 = 2.625 .625 * 8 = 5
(8 は 21 に 2 回入ることができ、残りの 8 のうち .625 になります)
%
モジュラスを意味します。
モジュラスは、数学における「除算後の剰余」の派手な名前です。
(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
。モジュラス演算子は、一方向関数としての特殊な特性により、公開鍵暗号で一般的に使用されます。