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

# is_nan

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

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

### 説明

function is_nan(float `$num`): bool

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

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

> 注意:

> Not A Number という名前が付いていますが、`NAN` は float 型の値として正しい値です。

警告

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

### パラメータ

`num`

  調べる float の値。

### 戻り値

`num` が `NAN` の場合、`true` を返します。そうでない場合、`false` を返します。

### 例

例1 is_nan() の例

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

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

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

    float(NAN)
    bool(true)

### 参考

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open