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 .
is_nan($var);
$ var : la valeur à vérifier.
Retour True si $ var est nan;
Si $ var n'est pas nan, false est retourné.
Voici quelques exemples montrant comment utiliser la fonction is_nan pour déterminer 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'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".
<?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'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 .
<?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'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".
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 .
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 .
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.