PHPのintdiv()関数とは?整数商の求め方と使い方をサンプル付きで解説
定義と使用方法
intdiv() 関数は、2つの整数パラメータを受け取り、その整数商(割り算の結果の整数部分)を返します。x ÷ y の計算結果が商 i、余り r となるとき、次の式が成り立ちます。
x = y × i + r
このとき、intdiv(x, y) は i を返します。余りは切り捨てられ、商のみが得られる点に注意してください。
構文
intdiv ( int $x , int $y ) : int
パラメータ
| 番号 | パラメータと説明 |
|---|---|
| 1 | x 割り算の分子(被除数)にあたる値を指定します。 |
| 2 | y 割り算の分母(除数)にあたる値を指定します。 |
戻り値
PHP の intdiv() 関数は、x を y で割った際の整数商を返します。両方の引数が正であるか、または両方が負である場合、戻り値は正の整数になります。
対応バージョン
この関数は PHP 7 以降で利用可能です。
使用例:分子が分母より小さい場合
次の例では、分子が分母より小さい場合に、intdiv() 関数が 0 を返すことを示しています。
<?php
$x=10;
$y=3;
$r=intdiv($x, $y);
echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n";
$r=intdiv($y, $x);
echo "intdiv(" . $y . "," . $x . ") = " . $r;
?>
出力結果
上記のコードを実行すると、次のような結果になります。
intdiv(10,3) = 3 intdiv(3,10) = 0
使用例:符号が異なる場合
次の例では、分子または分母のどちらか一方が負の場合、intdiv() 関数が負の整数を返すことを示しています。
<?php
$x=10;
$y=3;
$r=intdiv($x, $y);
echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n";
$x=10;
$y=-3;
$r=intdiv($x, $y);
echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n";
$x=-10;
$y=3;
$r=intdiv($x, $y);
echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n";
$x=-10;
$y=-3;
$r=intdiv($x, $y);
echo "intdiv(" . $x . "," . $y . ") = " . $r ;
?>
出力結果
上記のコードを実行すると、次のような結果になります。
intdiv(10,3) = 3 intdiv(10,-3) = -3 intdiv(-10,3) = -3 intdiv(-10,-3) = 3
使用例:分母がゼロの場合
次の例では、分母が 0 であるため、DivisionByZeroError 例外が発生します。
<?php
$x=10;
$y=0;
$r=intdiv($x, $y);
echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n";
?>
出力結果
上記のコードを実行すると、次のような致命的エラーが発生します。
PHP Fatal error: Uncaught DivisionByZeroError: Division by zero
使用例:小数を含む引数の場合
引数に小数が含まれる場合は小数部分が無視され、整数部分のみに対して intdiv() 関数が適用されます。
<?php
$x=2.90;
$y=1.90;
$r=intdiv($x, $y);
echo "intdiv(" . $x . "," . $y . ") = " . $r . "\n";
?>
出力結果
上記のコードを実行すると、次のような結果になります。
intdiv(2.9,1.9) = 2
-
PHPのlog()関数とは?自然対数の計算方法と使い方を解説
定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l
-
PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説
lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し