HOWTO · PHP

PHPで整数を除算する

このチュートリアルでは、PHP で整数を除算する方法を示します。

このページの内容

このチュートリアルでは、PHP で整数を除算する方法を示します。

PHP で整数を除算するには 2つの方法があります。 1つは除算 / 演算子によるもので、もう 1つは intdiv() メソッドによるものです。

このチュートリアルでは、PHP での整数除算の両方の方法を示します。

PHP で除算演算子 a/b を使用して整数を除算する

/ は PHP で除算演算子として使用され、2つの数値を除算できます。 このメソッドは、除算の正確な答えを返します。これは整数値ではない可能性があります。 例を見てみましょう。

<?php
$dividend_number = 8;
$divisor_number = 3;

$result = $dividend_number / $divisor_number;

echo "The result for the given integer division is: ".$result;
?>

除算の結果は次のとおりです。

The result for the given integer division is: 2.6666666666667

ご覧のとおり、結果は整数型ではありません。 この結果を整数に変換するには、round() または floor メソッドを使用する必要があります。 例を参照してください。

<?php
$dividend_number = 8;
$divisor_number = 3;

$result = $dividend_number / $divisor_number;

echo "The result for the given integer division is: ".$result."<br>";

echo "The rounded result for the given integer division is: ". round($result)."<br>";

echo "The floored result for the given integer division is: ".floor($result)."<br>";
?>

round メソッドは非整数を上位の整数に丸め、floor メソッドはそれを下位の整数に丸めます。 出力を参照してください:

The result for the given integer division is: 2.6666666666667
The rounded result for the given integer division is: 3
The floored result for the given integer division is: 2

intdiv() メソッドを使用して PHP で整数を分割する

組み込みメソッド intdiv() は整数除算に使用され、答えが 10 進数であっても整数を返します。 メソッド intdiv() は、実際には被除数から剰余を取り除くので、小数なしで割ることができます。

このメソッドの構文は次のとおりです。

int intdiv($dividend_number, $divisor_number)

最初のパラメーターは被除数で、2 番目の数値は除数です。 このメソッドは、計算された商を返します。

関数は、次の条件でエラーまたは例外を返します。

  1. 渡された除数が 0 の場合、メソッドは DivisionByZeroError 例外をスローします。
  2. 被除数が PHP_INT_MIN で除数が -1 の場合、算術エラー例外がスローされます。

例を試してみましょう。

<?php
$dividend_number = 8;
$divisor_number = 3;

$result = intdiv( $dividend_number , $divisor_number);

echo "The result for the given integer division is: ".$result."<br>";

$dividend_number = -8;
$divisor_number = 3;

$result = intdiv( $dividend_number , $divisor_number);

echo "The result for the given integer division is: ".$result."<br>";
?>

上記のコードは、最初に 2つの正の数を除算し、次に intdiv() メソッドを使用して 1つの負の数と 1つの正の数を除算しようとします。 出力を参照してください。

The result for the given integer division is: 2
The result for the given integer division is: -2

ご覧のとおり、メソッド intdiv は 2つの整数を除算し、結果が 10 進数の場合、メソッドはそれを小さい方の整数に変換します。