is_nan
浮動小数点数の値が、非数かどうかを調べる
説明
bool is_nan(float $num)
数学的に未定義な演算が行われると、NAN が返されます。
たとえば関数に渡されるパラメータに、範囲外の値が渡されたときが該当します。
平方根(sqrt) は、正の数値の場合にのみ定義されるので、負の数を渡すと結果は NAN になります。
NAN が返される他の例としては、INF の値を INF で割った場合や、
既に NAN とわかっている値と演算をした場合が挙げられます。
注意:
Not A Number
という名前が付いていますが、NAN は float 型の値として正しい値です。
警告
NAN は、NAN と等しい値として比較できません。
浮動小数点数の値が NAN かを判定するには is_nan を使わなければいけません。
コード $float === NAN は動作しません。
戻り値
num が NAN の場合、true を返します。そうでない場合、false を返します。
例
例1 is_nan の例
<?php
$nan = sqrt(-1);
var_dump($nan, is_nan($nan));
?>