PHPでは、浮動値を扱うとき、これらの値が非番号(NAN)であるかどうかを確認する必要がある場合があります。これを達成するために、PHPは非常に実用的な関数is_nan()を提供します。この記事では、数値検証を浮かべるためにIS_NAN関数を使用し、実際のユースケースを提供する方法を詳細に説明します。
Nan(Not-Anumber)は、数として表すことができない値を表す特別な浮動値です。たとえば、0を0で割るか、数学的操作(無効な平方根計算など)を使用してエラーが発生し、NANが返されます。 PHPでは、NANは浮動値と見なされますが、従来の値(整数、浮動点など)とは異なります。 IS_NAN()関数を使用して、値がNANかどうかを判断できます。
IS_NAN()は、指定された値がNANであるかどうかを確認するためのPHPに組み込み関数です。この関数はブール値を返します。渡されたパラメーターがnanの場合、 trueを返します。
文法:
bool is_nan ( mixed $var )
パラメーター:
$ var :チェックする変数。
返品値:
$ varがnanである場合、 trueを返します。
それ以外の場合は、 falseを返します。
一連の浮動的な値を扱っており、無効なNAN値が含まれていることを確認する必要があるとします。 NANを含む値の場合、計算エラーが発生したり、意図しない結果が生じたりする可能性があるため、これらの値をタイムリーにチェックおよび処理することが重要です。
NANを生成する可能性のある数学的操作を行うとします。この結果は、is_nan()を使用して簡単に判断できます。
<?php
// 無効な数学操作を実行するとします
$result = 0 / 0; // これは戻ります NaN
if (is_nan($result)) {
echo "消す NaN,有効な計算を実行できません。";
} else {
echo "計算結果:$result";
}
?>
この例では、 0 /0 ISNANで計算された結果はtrueを返し、出力情報は「結果はNANであり、効果的な計算は実行できません」。
実際のアプリケーションでは、ユーザーが入力したデータを検証する必要がある場合があります。ユーザーが無効な値( NANなど)を入力した場合、その後の処理の前にフィルタリングまたはプロンプトを表示することができます。
<?php
// ユーザーが浮動値を提出するとします
$user_input = "NaN"; // ユーザーが無効な値を入力するとします
// 浮動値に変換します
$input_value = (float)$user_input;
// あるかどうかを確認してください NaN
if (is_nan($input_value)) {
echo "ユーザーが入力した値は無効です(NaN)。有効な値を提供してください。";
} else {
echo "ユーザーが入力した値は有効です:$input_value";
}
?>
この例では、ユーザーが無効な値を提出するシナリオをシミュレートします。ユーザー入力を浮動値に変換した後、 IS_NAN()関数を使用して、それがNANであるかどうかを判断し、対応するプロンプトを作成できます。
場合によっては、一連のデータを処理し、そこからNAN値を除外する必要がある場合があります。この場合、 is_nan()は非常に便利です。
<?php
// フローティング値のセットをシミュレートします
$data = [3.14, 0/0, 2.71, sqrt(-1), 5.5];
// 除外します NaN 価値
$valid_data = array_filter($data, function($value) {
return !is_nan($value);
});
echo "有効なデータ:";
print_r($valid_data);
?>
この例では、NAN値を含む配列があります。 array_filter()関数を使用することにより、すべてのNAN値をフィルタリングし、有効な数値のみを保持できます。
IS_NAN()は、PHPで非常に実用的な機能であり、特に変動値の処理時にNANが存在するかどうかを確認するのに適しています。この記事の例を使用して、NANによって引き起こされる計算エラーを避けるために、実際の開発で浮動的な数値検証にis_nan()を使用する方法を習得できるはずです。これらの例があなたのPHPプログラミングに役立つことを願っています。
公式PHPドキュメント: https://www.php.net/manual/zh/function.is-nan.php