is_nan

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_nan浮動小数点数の値が、非数かどうかを調べる

説明

is_nan(float$num): bool

指定された num が、NAN (Not A Number) であるかどうかを返します。

数学的に未定義な演算が行われると、NAN が返されます。 たとえば関数に渡されるパラメータに、範囲外の値が渡されたときが該当します。 平方根(sqrt()) は、正の数値の場合にのみ定義されるので、負の数を渡すと結果は NAN になります。 NAN が返される他の例としては、INF の値を INF で割った場合や、 既に NAN とわかっている値と演算をした場合が挙げられます。

注意:

Not A Number という名前が付いていますが、NANfloat 型の値として正しい値です。

警告

NAN は、NAN と等しい値として比較できません。 浮動小数点数の値が NAN かを判定するには is_nan() を使わなければいけません。 コード $float === NAN は動作しません。

パラメータ

num

調べる float の値。

戻り値

numNAN の場合、true を返します。そうでない場合、false を返します。

例1 is_nan() の例

<?php
$nan
= sqrt(-1);

var_dump($nan, is_nan($nan));
?>

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

float(NAN) bool(true)

参考

  • is_finite() - 浮動小数点数の値が、有限の数値であるかどうかを調べる
  • is_infinite() - 浮動小数点数の値が、無限大であるかどうかを調べる
To Top