現在の位置: ホーム> 最新記事一覧> IS_NAN関数を使用して、浮動値が無効であるかどうかを判断します

IS_NAN関数を使用して、浮動値が無効であるかどうかを判断します

gitbox 2025-05-28

PHPプログラミングでは、フローティング値を処理する場合、しばしば「無効な」値に遭遇します。たとえば、一部の数学操作はNAN (数ではない)を返す場合があります。浮動値がNANであるかどうかを判断するために、PHPはIS_NAN関数を提供します。この記事では、この関数を使用して、浮動値が無効な値であるかどうかを判断し、対応するコードを実証する方法を紹介します。

1。ナンとは何ですか?

NANは浮動数値タイプの特別な値であり、「無効」値を示します。これは通常、次の状況で発生します。

  • 数学操作は、0を0で割ったり、無効な平方根を計算するなど、有効な数値を返すことはできません。

  • 一部の外部データソースは、有効な数値に変換できない受信した文字列など、数字ではない値を渡します。

PHPでは、 NANはそれ自体を含むどの値にも等しくありません。したがって、2つのNAN値を比較すると、結果は常に誤っているため、従来の比較操作を使用して値がNANであるかどうかを判断することができません。

2。IS_NAN関数の役割

PHPは、Floating値がNANであるかどうかを検出するIS_NAN関数を提供します。使用は非常に簡単です:

 <?php
$value = 0 / 0; // aを生成します NaN 価値
if (is_nan($value)) {
    echo "これはです NaN 価値";
} else {
    echo "これはです有效的数価値";
}
?>

上記のコードでは、 $値が( 0/0操作を介して) NANに割り当てられ、 IS_NAN()関数を介してNANであるかどうかを確認します。その場合、対応するプロンプト情報を出力します。

3。IS_NANの戻り値

  • 変数がNANの場合、 IS_NAN関数はtrueを返します。

  • 変数がNANでない場合、 Falseが返されます。

4。サンプルコード: NAN値を検出します

NAN値検出の一般的な例コードを次に示します。

 <?php
$values = [0 / 0, log(-1), sqrt(-1), 100, 3.14];

foreach ($values as $value) {
    if (is_nan($value)) {
        echo "$value それは1つです NaN 価値\n";
    } else {
        echo "$value いいえ NaN 価値\n";
    }
}
?>

上記のコードでは、複数の値を持つ配列をチェックしました。その一部は、log(-1)SQRT(-1)などの無効なNAN値です。プログラムは各値をチェックし、それがNANであるかどうかを出力します。

5.IS_NANを使用して、URLパラメーターが有効かどうかを判断します

パラメーターとしてURLから浮動的な値を取得し、 IS_NAN関数を使用して有効かどうかを判断する場合があります。 URLパラメーターに基づく例は次のとおりです。

 <?php
$url = 'http://gitbox.net/somepage.php?value=NaN';
parse_str(parse_url($url, PHP_URL_QUERY), $queryParams);

if (isset($queryParams['value']) && is_nan((float)$queryParams['value'])) {
    echo "URL 中的価値无效 (NaN)";
} else {
    echo "URL 中的価値有效";
}
?>

この例では、 gitbox.netからURLパラメーターを取得し、それがNANであるかどうかを決定することをシミュレートしました。まず、URL内のクエリ文字列を解析し、 IS_NANを使用して、渡された浮動値が有効かどうかを確認します。

6。注意すべきこと

  • IS_NANは、フローティング数値タイプにのみ適用されます。他のタイプのデータ(文字列、整数など)に対してこの関数を呼び出すと、 falseが返されます。

  • 変数が数字であり、 NANではないかどうかを判断する必要がある場合は、 IS_Numeric関数とIS_NAN関数を組み合わせて使用​​できます。

 <?php
$value = "abc";
if (is_numeric($value) && !is_nan((float)$value)) {
    echo "$value それは1つです有效的数価値";
} else {
    echo "$value いいえ有效的数価値";
}
?>

結論は

IS_NAN関数は、浮動値がNANであるかどうかを簡単に判断する簡単な方法です。それを使用することにより、開発者は無効な値を正確に検出して処理し、期待を満たしていない値に遭遇したときにコードが適切に機能するようにします。特に、外部データソースまたはユーザー入力を処理する場合、 IS_NAN関数の合理的な使用は潜在的なエラーを効果的に回避できます。