PHPでは、数学的計算を実行する場合、特に分割、対数、その他の操作を実行する場合、非数値のリターンが発生する場合があります。たとえば、数値がゼロで除算されている場合、または計算結果が数値範囲外である場合、PHPは特別な値NAN (数ではない)を返す場合があります。この場合、結果がNANであるかどうかをどのように判断し、対応する治療対策を講じますか?現時点では、PHPは非常に実用的な機能を提供し、この問題を検出するのに役立ちます。
この記事では、PHPでIS_NAN()関数を使用して数学計算のエラー値をトラブルシューティングする方法を紹介します。
NANは「数字ではない」の略語です。つまり、計算結果は有効な数字ではありません。一般的なトリガー条件は次のとおりです。
除数がゼロの場合( 1/0など)
負の数の平方根を取る( sqrt(-1)など)
他のいくつかの数学関数は、計算できない結果を返します(次のようなもの:対数ベースが負の場合)
NANはPHPのフロートタイプの一部であり、結果が利用できない場合に自動的に生成されます。
PHPはIS_NAN()関数を提供して、変数がNANであるかどうかを検出します。この関数はパラメーターを受け入れます。パラメーターは、パラメーターがnanの場合にtrueを返します。
is_nan(mixed $value): bool
パラメーター: $値:チェックする必要がある値は、あらゆるタイプのものです。
返品値: $ valueがnanである場合はtrue 、それ以外の場合はfalse 。
$number = sqrt(-1); // 負の数の平方根を計算します,戻ります NAN
if (is_nan($number)) {
echo "消す NAN,計算できません。";
} else {
echo "消す有效数字。";
}
上記のコードでは、負の数の平方根を計算しようとします。結果はNANです。IS_NAN()を使用して、この結果をチェックして、後続のコードが他の計算に無効な値を使用しないようにします。
IS_NAN()関数を実際の数学計算に適用して、時間のエラー結果を発見し、プログラムの例外を回避するためにそれらを処理することができます。
$numerator = 10;
$denominator = 0;
$result = $numerator / $denominator; // 消す NAN
if (is_nan($result)) {
echo "分割操作が戻ります NAN,除数はゼロにすることはできません。";
} else {
echo "计算消す有效数字:$result";
}
この例では、除数はゼロであり、 NANの生成を引き起こし、 IS_NAN()を使用すると、この問題を効果的にキャプチャできます。
$value = -10;
$result = log($value); // 負の数の対数を取ります,戻ります NAN
if (is_nan($result)) {
echo "対数操作が返されました NAN,入力値は正の数でなければなりません。";
} else {
echo "计算消す有效数字:$result";
}
負の数の対数を使用することも、一般的なエラー操作です。 IS_NAN()は、このエラーを時間内に発見してプロンプトするのに役立ちます。
APIを介して計算結果を外部システムに返す必要がある計算プログラムがあるとします。この場合、返品値がNANの場合、無効な結果を返すことを避ける必要がありますが、代わりにエラーメッセージを返します。
$calculationResult = sqrt(-1); // 戻る NAN
if (is_nan($calculationResult)) {
$response = [
'status' => 'error',
'message' => '計算に失敗しました,結果は次のとおりです NAN。',
];
$url = 'https://gitbox.net/api/result'; // 新しいものと交換してください API 住所
// 使用 curl リクエストを送信します
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($response));
curl_exec($ch);
curl_close($ch);
} else {
$response = [
'status' => 'success',
'result' => $calculationResult,
];
$url = 'https://gitbox.net/api/result'; // 新しいものと交換してください API 住所
// 使用 curl リクエストを送信します
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($response));
curl_exec($ch);
curl_close($ch);
}
この例では、値を計算し、 is_nan()を使用して結果を確認します。計算結果がNANの場合、APIを介してエラーメッセージを返します。計算結果が有効な場合、有効な結果が返されます。
PHPでIS_NAN()関数を使用すると、数学的計算でエラー値を効果的にトラブルシューティングおよび処理することができ、無効な結果に遭遇したときにプログラムがクラッシュすることを避けることができます。条件付きの判断とエラー処理を組み合わせることにより、数学的操作を実行するときにプログラムがより安定して堅牢であることを確認できます。
この記事が、PHPでIS_NAN()関数を使用してエラー値をトラブルシューティングし、コードのフォールトトレランスと安定性を改善する方法を理解するのに役立つことを願っています。