En PHP, lors de la réalisation de calculs mathématiques, certains rendements non nucères sont parfois rencontrés, en particulier lors de la division, du logarithme et d'autres opérations. Par exemple, lorsqu'un nombre est divisé par zéro ou que les résultats de calcul sont en dehors de la plage numérique, PHP peut renvoyer une valeur spéciale NAN (pas un nombre). Dans ce cas, comment déterminez-vous si un résultat est un NAN et prenez des mesures de traitement correspondantes? Pour le moment, PHP offre une fonction très pratique IS_NAN () pour nous aider à détecter ce problème.
Cet article présentera comment utiliser la fonction is_nan () en PHP pour dépanner les valeurs d'erreur dans les calculs mathématiques.
Nan est l'abréviation de "pas un nombre", ce qui signifie que le résultat de calcul n'est pas un nombre valide. Les conditions de déclenchement courantes comprennent:
Lorsque le diviseur est nul (comme: 1/0 )
Prenez la racine carrée du nombre négatif (comme: SQRT (-1) )
Certaines autres fonctions mathématiques renvoient les résultats qui ne peuvent pas être calculés (tels que: si la base logarithmique est négative)
Nan fait partie du type de flotteur de PHP et est automatiquement généré lorsque le résultat n'est pas disponible.
PHP fournit la fonction is_nan () pour détecter si une variable est nan . Cette fonction accepte un paramètre, qui renvoie True si le paramètre est nan , sinon faux .
is_nan(mixed $value): bool
Paramètres: $ Valeur : La valeur qui doit être vérifiée peut être de n'importe quel type.
Valeur de retour: vrai si la valeur $ est nan , sinon faux .
$number = sqrt(-1); // Calculez la racine carrée d'un nombre négatif,Reviendra NAN
if (is_nan($number)) {
echo "s'avérer NAN,Incapable de calculer。";
} else {
echo "s'avérer有效数字。";
}
Dans le code ci-dessus, nous essayons de calculer la racine carrée du nombre négatif, et le résultat est Nan , qui est_nan () est utilisé pour vérifier ce résultat pour empêcher le code ultérieur d'utiliser des valeurs non valides pour d'autres calculs.
Nous pouvons appliquer la fonction is_nan () aux calculs mathématiques réels pour nous aider à découvrir les résultats des erreurs dans le temps et à les traiter pour éviter les exceptions du programme.
$numerator = 10;
$denominator = 0;
$result = $numerator / $denominator; // s'avérer NAN
if (is_nan($result)) {
echo "L'opération de division revient NAN,Le diviseur ne peut pas être nul。";
} else {
echo "计算s'avérer有效数字:$result";
}
Dans cet exemple, le diviseur est zéro provoque la génération de nan , et l'utilisation d'Is_nan () peut saisir efficacement ce problème.
$value = -10;
$result = log($value); // Prenez le logarithme pour les nombres négatifs,Reviendra NAN
if (is_nan($result)) {
echo "L'opération de logarithme est retourné NAN,La valeur d'entrée doit être un nombre positif。";
} else {
echo "计算s'avérer有效数字:$result";
}
Prendre des logarithmes pour des nombres négatifs est également une opération d'erreur courante. is_nan () peut nous aider à découvrir cette erreur dans le temps et à l'inviter.
Supposons que nous ayons un programme de calcul qui doit renvoyer les résultats de calcul au système externe via l'API. Dans ce cas, si la valeur de retour est NAN , nous devons éviter de renvoyer des résultats non valides, mais renvoie à la place un message d'erreur.
$calculationResult = sqrt(-1); // retour NAN
if (is_nan($calculationResult)) {
$response = [
'status' => 'error',
'message' => 'Échec du calcul,Le résultat est NAN。',
];
$url = 'https://gitbox.net/api/result'; // Remplacer par nouveau API adresse
// utiliser curl Envoyer une demande
$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'; // Remplacer par nouveau API adresse
// utiliser curl Envoyer une demande
$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);
}
Dans cet exemple, nous calculons une valeur et vérifions le résultat en utilisant is_nan () . Si le résultat du calcul est NAN , nous renverrons un message d'erreur via l'API; Si le résultat du calcul est valide, le résultat valide sera retourné.
L'utilisation de la fonction is_nan () en PHP peut nous aider à dépanner efficacement et à traiter les valeurs d'erreur dans les calculs mathématiques et à éviter que le programme se bloque lors de la rencontre de résultats non valides. En combinant le jugement conditionnel et le traitement des erreurs, nous pouvons nous assurer que le programme est plus stable et robuste lors de l'exécution des opérations mathématiques.
J'espère que cet article peut vous aider à comprendre comment utiliser la fonction is_nan () en PHP pour dépanner les valeurs d'erreur et améliorer la tolérance et la stabilité des défauts de votre code.