【PHP8.x】intdiv関数の使い方
作成日: 更新日:
intdiv関数は、二つの数値を引数に取り、それらの整数除算の結果を返す関数です。この関数は、最初の引数である被除数(割られる数)を二番目の引数である除数(割る数)で割った際の商の整数部分を計算します。例えば、intdiv(10, 3)
と記述すると、結果は3
となります。これは、通常の除算演算子/
が10 / 3
で3.333...
のような浮動小数点数を返すのに対し、intdiv
関数は常に整数値のみを返す点で異なります。結果は、小数点以下が切り捨てられるのではなく、ゼロ方向へ丸められます。
この関数は、結果が常に整数であることが保証される必要がある場面で非常に役立ちます。例えば、ページネーションで総件数からページ数を計算する場合など、厳密に整数値の商が必要な状況で利用されます。
除数に0
を指定した場合、DivisionByZeroError
というエラーが発生し、プログラムの実行が停止します。また、PHPの整数型の最小値であるPHP_INT_MIN
を-1
で割るような、結果が整数型の範囲を超過する計算を行った場合には、ArithmeticError
というエラーが発生しますので注意が必要です。これらのエラーは予期せぬプログラムの停止を引き起こす可能性があるため、安全なプログラムを記述するためには、適切なエラーハンドリングを検討することが重要です。引数には整数型が推奨されますが、浮動小数点数が渡された場合は、内部的に整数に変換されて処理されます。
基本的な使い方
構文(syntax)
<?php
echo intdiv(10, 3);
?>
引数(parameters)
int $num1, int $num2
- int $num1: 被除数(割られる数)を指定する整数
- int $num2: 除数(割る数)を指定する整数
戻り値(return)
int
整数除算の結果を整数型で返します。