Position actuelle: Accueil> Derniers articles> Comment utiliser la fonction IS_NAN de PHP pour déterminer si une valeur est nan?

Comment utiliser la fonction IS_NAN de PHP pour déterminer si une valeur est nan?

gitbox 2025-05-28

Dans PHP, la fonction IS_NAN est utilisée pour vérifier si une valeur est "nan" (pas-un nombre). Nan est une valeur particulière représentant un nombre illégal, qui se produit généralement pendant les calculs numériques, en particulier lors de l'exécution d'opérations mathématiques non valides, telles que 0 divisée par 0, ou lors de la conversion de chaînes non nucléaires en nombres.

La fonction is_nan prend un paramètre et renvoie une valeur booléenne: true si la valeur passée est nan, sinon faux .

grammaire

 is_nan($var);

paramètre

  • $ var : la valeur à vérifier.

Valeur de retour

  • Retour True si $ var est nan;

  • Si $ var n'est pas nan, false est retourné.

Exemple de code

Voici quelques exemples montrant comment utiliser la fonction is_nan pour déterminer si une valeur est nan.

Exemple 1: Vérifiez si une valeur est nan

 <?php
$val = 0 / 0; // produire NaN
if (is_nan($val)) {
    echo "La valeur est NaN";
} else {
    echo "La valeur n&#39;est pas NaN";
}
?>

Dans l'exemple ci-dessus, le résultat de 0/0 est nan, donc la fonction is_nan renvoie True et la sortie "La valeur est nan".

Exemple 2: Vérifiez si la chaîne est convertie en nombre est nan

 <?php
$str = "abc"; // Impossible de se convertir en un nombre valide
$val = (float) $str; // Casting au numéro de point flottant
if (is_nan($val)) {
    echo "La valeur est NaN";
} else {
    echo "La valeur n&#39;est pas NaN";
}
?>

Dans cet exemple, la chaîne "ABC" ne peut pas être convertie en un nombre valide, il deviendra donc NAN après la conversion, et IS_NAN renvoie vrai .

Exemple 3: Vérifiez si d'autres calculs mathématiques produisent NAN

 <?php
$result = sqrt(-1); // La racine carrée du nombre négatif est NaN
if (is_nan($result)) {
    echo "Le résultat du calcul est NaN";
} else {
    echo "Le résultat du calcul n&#39;est pas NaN";
}
?>

SQRT (-1) renvoie NAN car la racine carrée du nombre négatif n'est pas valide dans la plage réelle. Par conséquent, IS_NAN renverra vrai et la sortie "Le résultat du calcul est nan".

Choses à noter

  1. La différence entre Nan et Null et Inf :

    • Nan signifie «pas un nombre», il est différent de Null et positif et négatif infini ( INF ). NULL est une valeur nul et Inf est un nombre infiniment grand ou infiniment petit. C'est Nan, pas Null ou Inf, qui est utilisé pour juger .

  2. Nan et auto-égalité :

    • Nan a une propriété spéciale, qui n'est égale à aucune valeur (y compris elle-même). Vous ne pouvez donc pas utiliser == ou == pour déterminer si une valeur est nan. Il doit être vérifié en utilisant IS_NAN .

en conclusion

La fonction IS_NAN de PHP est un outil important pour déterminer si une valeur est NAN, en particulier en ce qui concerne les calculs mathématiques. Grâce à cette fonction, nous pouvons capturer et gérer efficacement les calculs numériques illégaux.