PHPでは、多くの場合、さまざまな数学操作を実行する必要があり、これらの操作の結果には、「非数値値」(NAN)などの無効な数値値が含まれる場合があります。 IS_NAN()関数は、計算結果が「非数」状態であるかどうかを検出するために使用されます。無効な値を返す可能性のある計算を処理する場合に非常に便利です。この記事では、IS_NAN()関数を使用して計算結果の無効な値を検出する方法を紹介し、例を使用して計算エラーを回避する方法を説明します。
浮動小数点計算では、NANは無効な値を表します。たとえば、数学では、 0/0の結果は無効な数値であり、実用的な意味がないため、 NANを返します。 NANは通常、計算エラーまたはゼロ分別ゼロなどの不可能な数学操作によってPHPで生成されます。
PHPでは、 IS_NAN()関数を使用して、値がNANであるかどうかを判断します。 is_nan()は、パラメーターがnanである場合にのみtrueを返します。
<?php
// 例 1:使用 is_nan 関数判断 NaN 価値
$val1 = sqrt(-1); // 負の数の平方根を計算します,結果は次のとおりです NaN
if (is_nan($val1)) {
echo "val1 それは1つです NaN 価値。\n";
} else {
echo "val1 いいえ NaN。\n";
}
// 例 2:0 別れます 0 的結果は次のとおりです NaN
$val2 = 0 / 0;
if (is_nan($val2)) {
echo "val2 それは1つです NaN 価値。\n";
} else {
echo "val2 いいえ NaN。\n";
}
// 例 3:有効な数字
$val3 = 10 / 2; // 消す 5
if (is_nan($val3)) {
echo "val3 それは1つです NaN 価値。\n";
} else {
echo "val3 いいえ NaN。\n";
}
?>
val1 それは1つです NaN 価値。
val2 それは1つです NaN 価値。
val3 いいえ NaN。
PHPはIS_NAN()関数を介してNAN値を検出できますが、開発中は、計算に表示されるこれらの無効な値を回避したいことがよくあります。 NAN値の生成を回避するために、可能なエラー操作を検出および前処理することができます。 NANエラーを回避する一般的な方法を次に示します。
除数がゼロかどうかを確認します。分割操作を実行するときは、最初に除数がゼロでないことを確認してください。
無効な数学操作を処理する:たとえば、 SQRT()関数を使用する場合、渡された値が非陰性であることを確認してください。
結果を確認します。IS_NAN()を使用して、計算結果がNANであるかどうかを判断します。その場合、対応するエラー処理測定が行われます。
<?php
// ゼロエラーを防ぎます
$numerator = 10;
$denominator = 0;
if ($denominator == 0) {
echo "間違い:仕切りはゼロです,部門操作を実行できません。\n";
} else {
$result = $numerator / $denominator;
if (is_nan($result)) {
echo "计算結果は次のとおりです NaN。\n";
} else {
echo "计算消す:$result\n";
}
}
?>
IS_NAN()は、計算結果の無効な値を検出するのに役立つPHPで非常に有用な機能です。特に分割標識やルート記号などの操作に関しては、数学的操作を実行する場合、NANが生成される可能性のある状況に注意する必要があります。 IS_NAN()関数を使用することにより、プログラムロジックに対する無効な値の影響を回避し、プログラム操作の安定性と信頼性を確保できます。