PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのis_nan()関数とは?NaN(非数)判定の使い方とサンプルコードを解説

is_nan()関数とは

PHPのis_nan()関数は、指定した値が「NaN(Not a Number:非数)」であるかどうかを判定するための関数です。引数に渡した値が非数であればTRUEを、そうでなければFALSEを返します。

NaNは、数学的に定義できない演算(例:負の数の平方根や、定義域外の値に対する三角関数の計算など)の結果として現れる特殊な浮動小数点値です。数値処理を行うプログラムでは、異常な計算結果を検出するためにこの関数がよく活用されます。

構文

is_nan(num)

パラメータ

  • num − NaNかどうかをチェックする対象の値

戻り値

numが「非数(NaN)」であればTRUEを、それ以外の場合はFALSEを返します。

使用例1:通常の数値をチェックする

<?php
    var_dump(is_nan(10));
?>

10は通常の数値なので、結果はFALSEとなります。

出力:

bool(false)

使用例2:acos()関数と組み合わせる

次に、逆余弦を求めるacos()関数と組み合わせた例を見てみましょう。acos(1)の計算結果は0であり、これはNaNではないためFALSEが返されます。

<?php
    var_dump(is_nan(acos(1)));
?>

出力:

bool(false)

補足:NaNが発生するケース

acos()関数に定義域外の値(-1〜1の範囲外)を渡すと、結果はNaNになります。例えば以下のコードではTRUEが返されます。

<?php
    var_dump(is_nan(acos(8)));
?>

出力:

bool(true)

このように、is_nan()関数を使うことで、計算結果が有効な数値であるかどうかを簡単に確認でき、予期しない数値エラーの防止に役立ちます。

  1. PHPのlog()関数とは?自然対数の計算方法と使い方を解説

    定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l

  2. PHPのis_nan()関数とは?使い方と実行例をわかりやすく解説

    PHPのis_nan()関数は、引数として渡された値が「NAN(Not A Number:非数)」であるかどうかを判定するための関数です。数値演算の結果が不正な値になったかどうかを確認したい場合に役立ちます。 定義と使い方 NANは「Not A Number(非数)」の略で、数学的に定義できない数値演算の結果などを表します。is_nan()関数は、引数がNANであるかどうかをチェックし、その結果をブール値(true / false)で返します。 構文 is_nan ( float $val ) : bool パラメータ No.パラメータと説明 1 valNANであるかどうかを検証する