intdiv

(PHP 7, PHP 8)

intdiv整数値の除算

説明

intdiv(int $num1, int $num2): int

num1num2 で割った整数商を返します。

パラメータ

num1

割られる数。

num2

num1 を割る数。

戻り値

num1num2 で割った整数商。

エラー / 例外

num20 の場合、DivisionByZeroError 例外がスローされます。num1PHP_INT_MINnum2-1 の場合、 ArithmeticError 例外がスローされます。

例1 intdiv() の例

<?php
var_dump
(intdiv(3, 2));
var_dump(intdiv(-3, 2));
var_dump(intdiv(3, -2));
var_dump(intdiv(-3, -2));
var_dump(intdiv(PHP_INT_MAX, PHP_INT_MAX));
var_dump(intdiv(PHP_INT_MIN, PHP_INT_MIN));
?>

上の例の出力は以下となります。

int(1)
int(-1)
int(-1)
int(1)
int(1)
int(1)

例2 intdiv() に不正な除数を使った例

<?php
try {
intdiv(PHP_INT_MIN, -1);
} catch (
Error $e) {
echo
get_class($e), ': ', $e->getMessage(), PHP_EOL;
}

try
intdiv(1, 0);
} catch (
Error $e) {
echo
get_class($e), ': ', $e->getMessage(), PHP_EOL;
}
?>

上の例の出力は以下となります。

ArithmeticError: Division of PHP_INT_MIN by -1 is not an integer
DivisionByZeroError: Division by zero

参考

  • / - 浮動小数点数値の除算
  • % - 整数値の剰余
  • fmod() - 引数で除算をした際の剰余を返す - 浮動小数点数値の剰余