Est-il une différence entre is_int() et ctype_digit()?
Est un plus préféré, ou fonctionne mieux sur les autres?
Vous devez vous connecter pour publier un commentaire.
Est un plus préféré, ou fonctionne mieux sur les autres?
Vous devez vous connecter pour publier un commentaire.
is_int()
renvoie vrai si l'argument est un entier de type,ctype_digit()
prend un argument de type chaîne et renvoie true si tous les caractères de la chaîne sont des chiffres.Exemple:
Il est également
is_numeric
qui renvoie true si elle est adoptée en valeur peut être interprétée comme un numéro.Si j'essaie de comparer les performances des fonctions sur PHP 5.5.30 voici les résultats:
C'est le code que j'ai utilisé pour le test
La dernière chose que vous devriez vous soucier, c'est la rapidité de l'un de ces est. Il n'y a aucun moyen de vérifier une chaîne de caractères pour un entier va être un goulot d'étranglement dans votre code.
ctype pas toujours return false sur type entier.
ctype_digit renvoie true pour la suite de type integer nombre.
-78,-77,-71,48,49,50,51,52,53,54,55,56,57,178,179,185,
256,257,258,259,260,261,262,263,264,265,266,267,268,269,270 à 1000
la base de la pratique est à chaque numéro de chaîne électronique.q. strval($num) ou de caractères (String) $num
dans ce cas, la valeur négative (-78) renverra toujours false.
is_int vous renvoie vrai sur le type int valeur entre -2147483647 à 2147483647.
toute valeur dépasse ce nombre va vous renvoyer faux en espérant qu'il est en cours d'exécution sur un système 32bits.
sur 64bits il peut aller jusqu'à la plage de -9223372036854775807 à 9223372036854775807
en terme de performance personnellement très difficile à dire. ctype_digit peut-être plus vite que is_int mais si vous avez à jeter chaque valeur de chaîne de la performance est globalement réduit.
Si vous n'avez pas vraiment si l'argument est de type int ou une chaîne de caractères avec des chiffres, utilisez is_numeric. Il sera de retour vrai pour les chars aussi, tho.
Eh bien, c'est très intéressant 🙂 Ici tout est histoire:
Birds Eye View:
Grâce à http://php.net/
Ctype_digit renvoie false si la gamme de nombre entier est dans la plage négative ou entre 0 et 47 ou entre 58 et 255. Vous pouvez le vérifier ctype_digit du comportement à l'aide de l'extrait suivant.