PHPでは、数値、文字列、ブール値など、さまざまな種類のデータを処理する必要があることがよくあります。数学操作を行っている場合、非数値値(NAN)または無限の大きな値に遭遇する可能性があります。これらの特別な値を安全に処理するために、PHPは2つの非常に有用な機能を提供します: is_nan()とis_infinite() 。
この記事では、これら2つの機能を使用して、PHPの非数値および無限のケースを決定する方法について説明します。また、プログラムエラーを防ぎ、コードの安定性を確保するために、これら2つの機能を使用する方法を紹介します。
計算では、 NAN (not-a-number)は未定義の数値値を表します。これは通常、 0/0やSQRT(-1)などの数学的操作で違法な結果を表すために使用されます。 Infinityは、 1/0やLog(0)など、コンピューターで表現できる範囲を超える値を表します。
これらの2つの特別な値は通常、特に比較または算術操作を実行する場合、プログラムの予期しない動作を引き起こします。したがって、事前にチェックして正しく処理することが非常に重要です。
PHPは、これらの特別なケースを検出するための2つの組み込み関数を提供します。
is_nan()
値がnanであるかどうかを判断するために使用されます。与えられた値がnanの場合、 trueを返し、それ以外の場合はfalse 。
例:
$value = sqrt(-1); // 消す NaN
if (is_nan($value)) {
echo "値はです NaN";
}
is_infinite()
値が∞ (正の無限または負の無限)であるかどうかを判断するために使用されます。与えられた値が正または負の無限であり、それ以外の場合は誤っている場合、 trueを返します。
例:
$value = 1 / 0; // 消す ただ無限
if (is_infinite($value)) {
echo "値はです无穷大";
}
いくつかの複雑な計算では、同時にNANとInfinityに遭遇する可能性があるため、これら2つの機能を組み合わせて使用して、コードがこれらの特別なケースを正しく処理できるようにする必要があります。
例:
$value = 1 / 0; // ただ無限
if (is_nan($value)) {
echo "値はです NaN";
} elseif (is_infinite($value)) {
echo "値はです无穷大";
} else {
echo "値はです有效的数值";
}
この例では、まずそれがNANであるかどうかを確認し、それが無限であるかどうかを確認します。このようにして、これらの特別な状況を正確に処理できるようになります。
計算が複雑で、複数のステップが含まれる場合があります。この場合、各ステップの結果がis_nan()およびis_infinite()によって有効であることを確認できます。
例:
$numerator = 0;
$denominator = 0;
$result = $numerator / $denominator; // 消す NaN
if (is_nan($result)) {
echo "消す NaN";
} elseif (is_infinite($result)) {
echo "消す无穷大";
} else {
echo "消す有效的数值";
}
この例では、複数の操作ステップでの結果でさえ、 is_nan()およびis_infinite()を介して確認できることがわかります。
違法な数学の計算を防ぐ<br> 計算プログラムを作成するとき、ユーザーが違法データ(ゼロで割る、負の数の平方根を開くなど)を入力した場合、 IS_NAN()およびIS_INFINITE()を介して事前チェックして、プログラムのクラッシュや無意味な結果を回避できます。
データ検証<br> データベースやAPIなどの外部ソースから取得した数値を扱う場合、予測不可能な無限またはNAN値に遭遇する可能性があります。これらの関数を使用して、データを検証およびクリーニングして、後続の処理の安定性を確保することができます。
IS_NAN()およびIS_INFINITE()を使用すると、PHPの非数と無限の状況を効果的に判断でき、これらの特別な状況に遭遇したときにプログラムがクラッシュするのを避けることができます。これらの特別な値を事前に判断および処理することにより、コードがより堅牢で信頼性が高いことを確認できます。
この記事が、PHPでis_nan()およびis_infinite()関数を使用して特別な数値値を処理する方法を理解するのに役立つことを願っています。これらの単純な機能を使用すると、違法または極端な価値に直面しているときにプログラムが正しく応答するようにすることができます。