php - Lors de l'utilisation de la fonction is_int, lorsque le nombre à déterminer dépasse 9 chiffres, false est renvoyé. Pourquoi ?
大家讲道理
2017-05-16 13:04:03
Lors de l'utilisation de la fonction is_int, PHP renvoie false lorsque le nombre à déterminer dépasse 9 chiffres. Pourquoi ?
. . . .
.Les entiers entiers ont une plage, et cette plage est différente de la plage de 32 bits (valeur maximale : 2^31 - 1) et 64 bits (valeur maximale : 2^63 - 1) liée à la version de la plateforme. À ce stade, les nombres hors plage seront interprétés comme du type float, donc le jugement de la fonction is_int() sera faux. Ce qui suit est un débordement d'entier 64 bits :
Selon le manuel du site officiel de php :
Donc pour un entier de 32 bits, signé
2^31=2147483648
(environ 2 milliards), c'est un nombre à 10 chiffres, donc pour la situation que vous avez évoquée, il est vrai que plus de 9 chiffres renverront faux.