関数の概要
PHPの is_infinite 関数は、指定した数値が「無限大(Infinity)」かどうかを判定するための関数です。数学的な操作や数値の計算結果が無限大になるケース(例えば、ゼロ除算の結果など)を検出したいときに利用します。
パラメータの説明
float $val— 判定対象となる数値を指定します。整数型や浮動小数点数型の値を渡せます。
戻り値
引数で渡した値が正の無限大または負の無限大の場合は true を返します。それ以外の値の場合は false を返します。
使用例
例1: 正の無限大を判定する
<?php
$value = log(0); // -INF(負の無限大)になるケースですが、例として
var_dump(is_infinite(INF)); // 出力: bool(true)
?>
ここでは直接無限大の定数 INF を使い、それが無限大であることを判定しています。
例2: 負の無限大を判定する
<?php
$negative_infinite = -INF;
var_dump(is_infinite($negative_infinite)); // 出力: bool(true)
?>
負の無限大も無限大として判定されることがわかります。
例3: 無限大ではない値を判定する
<?php
$value = 1000;
var_dump(is_infinite($value)); // 出力: bool(false)
$value = 1 / 0; // 警告が発生しますが
var_dump(is_infinite($value)); // 出力: bool(true)
?>
通常の数値や演算結果が無限大でない値では false が返り、無限大の演算結果では true が返ります。
関連する関数
is_nan— 数値が「NaN(Not a Number)」かどうかを判定します。is_finite— 数値が有限かどうかを判定します。floatval— 値を浮動小数点数に変換します。
まとめ
is_infinite 関数は、計算やデータ処理の中で値が「無限大」かどうかを簡単に判定できる便利な関数です。特に数値の異常値チェックや例外処理の一環として使うことで、予期せぬ無限大の影響を抑えることができます。PHPで数値操作をする際には覚えておきたい基本の関数の一つです。
