Dans PHP, IS_NAN () et IS_FINITE () sont deux fonctions de détection numérique couramment utilisées, qui sont utilisées pour déterminer si une variable est un non numérique (NAN) ou si une valeur numérique est finie. Bien qu'ils ressemblent à des utilisations différentes et des scénarios applicables. Cet article discutera en détail des différences entre ces deux fonctions et leurs scénarios d'application respectifs.
La fonction is_nan () est utilisée pour détecter si une valeur est une "non numerique" (nan, pas-a-numéro). En mathématiques et en informatique, NAN est une valeur flottante spéciale qui représente généralement un résultat qui ne peut pas être exprimé en valeur numérique. Par exemple, lorsque 0 est divisé par 0 ou calculant la racine carrée d'un nombre négatif, NAN est généré.
is_nan(mixed $var): bool
Paramètres : $ var peut être n'importe quel type de variable.
Valeur de retour : si $ var est nan, la fonction renvoie true , sinon faux .
$number1 = sqrt(-1); // Calculez la racine carrée d'un nombre négatif,Le résultat estNaN
$number2 = 10 / 0; // Le résultat estINF,Le grand
var_dump(is_nan($number1)); // Sortir:bool(true)
var_dump(is_nan($number2)); // Sortir:bool(false)
IS_NAN () est très adapté aux scénarios où les résultats non valides apparaissent dans les calculs, en particulier lorsque des opérations de points flottants sont impliquées. Par exemple:
Dans les calculs mathématiques, évitez les résultats non valides causés par des opérations telles que la division par zéro ou des nombres négatifs.
Dans les domaines de l'informatique scientifique, du traitement d'image, etc., qu'il y ait des résultats illégaux.
La fonction is_finite () est utilisée pour vérifier si un nombre est une valeur finie. Il vérifie si le nombre donné est une valeur finie, ne peut pas être Infinity (Inf) ou NAN.
is_finite(mixed $var): bool
Paramètres : $ var peut être n'importe quel type de variable.
Valeur de retour : si $ var est une valeur finie, la fonction renvoie true , sinon faux .
$number1 = 10 / 2; // Le résultat est5
$number2 = 10 / 0; // Le résultat estINF
$number3 = sqrt(-1); // Le résultat estNaN
var_dump(is_finite($number1)); // Sortir:bool(true)
var_dump(is_finite($number2)); // Sortir:bool(false)
var_dump(is_finite($number3)); // Sortir:bool(false)
IS_FINITE () est très adapté pour détecter si une variable est un nombre fini, en particulier dans les domaines de l'informatique scientifique, des applications financières, etc. Il peut être utilisé pour déterminer si le résultat de calcul est valide et éviter le comportement anormal du programme causé par l'infini (INF) ou le NAN.
Différents objets de jugement :
is_nan () vérifie uniquement si c'est nan.
IS_FINITE () Vérifie s'il s'agit d'une valeur finie, il renvoie false s'il est NAN ou Infinity (Inf).
Différents scénarios s'appliquent :
IS_NAN () convient pour vérifier s'il existe des calculs numériques non valides, tels que 0 divisé par 0.
IS_FINITE () convient pour vérifier si la valeur est limitée et éviter l'infini ou le NAN affectant la logique du programme.
Le résultat de retour est différent :
IS_NAN () Renvoie True uniquement si la variable est nan.
IS_FINITE () Renvoie False non seulement NAN, mais aussi Inf (Infinity).
$value1 = 0 / 0; // NaN
$value2 = 10 / 0; // INF
echo is_nan($value1); // true
echo is_nan($value2); // false
echo is_finite($value1); // false
echo is_finite($value2); // false
La fonction is_nan () est utilisée pour déterminer si une variable est nan (non numérique) et convient pour vérifier les calculs numériques non valides.
La fonction is_finite () est utilisée pour vérifier si un nombre est fini et convient pour juger si la valeur est valide et éviter les interférences de l'infini ou du NAN.
Dans le développement réel, le choix de la fonction à utiliser dépend du type de valeur numérique que vous devez vérifier et de votre scénario d'application. Généralement, IS_NAN () préfère la gestion des erreurs spéciale, tandis que is_finite () est utilisé pour les vérifications numériques de la légalité.