【PHP8.x】is_nan関数の使い方

作成日: 更新日:

is_nan関数は、PHPにおいて与えられた浮動小数点数が「非数(NaN: Not a Number)」であるかどうかを検査する関数です。非数とは、数学的に定義できない結果、例えばゼロをゼロで割った場合や、負の数の平方根を求めた場合などに生じる特別な浮動小数点数の値です。

この関数は、引数として一つの浮動小数点数を受け取ります。もしその値が非数である場合はブール値のtrueを返し、非数ではない場合はfalseを返します。例えば、複雑な計算処理の中で予期せずNaNが発生した場合に、そのエラー状態を検出するために利用できます。

非数(NaN)は非常に特殊な性質を持っており、PHPを含む多くのプログラミング言語では、通常の比較演算子(=====など)を使ってNaN自身と比較しても常にfalseとなります。これは、NaNが「自身と等しくない」という独自の特性を持つためです。したがって、浮動小数点数の値がNaNであるかどうかを正確に判断するには、このis_nan関数を使用することが不可欠です。

特に科学技術計算や統計処理など、浮動小数点数を用いた複雑な演算を行う際には、中間結果や最終結果が非数になっていないかを確認することが、プログラムの信頼性を高める上で非常に重要になります。この関数を利用することで、不正な計算結果を検出し、適切なエラーハンドリングを行うことが可能になります。

基本的な使い方

構文(syntax)

<?php
$val_nan = acos(2); // 数値計算の結果が "Not a Number" (NaN) となる例
$val_number = 10.5; // 通常の数値の例

var_dump(is_nan($val_nan));
var_dump(is_nan($val_number));
?>

引数(parameters)

float $num

  • float $num: 浮動小数点数型で、NaN (Not a Number) かどうかを判定したい数値を指定します

戻り値(return)

bool

指定された値が「Not a Number」(非数)である場合に TRUE を、それ以外の場合に FALSE を返します。

【PHP8.x】is_nan関数の使い方 | いっしー@Webエンジニア