php - Apabila menggunakan fungsi is_int, apabila nombor yang akan ditentukan melebihi 9 digit, false dikembalikan.
大家讲道理
2017-05-16 13:04:03
Apabila menggunakan fungsi is_int, PHP mengembalikan palsu apabila nombor yang akan ditentukan melebihi 9 digit Mengapa?
. . . .
Integer integer mempunyai julat, dan julat ini berbeza daripada julat 32-bit (nilai maksimum: 2^31 - 1) dan 64-bit (nilai maksimum: 2^63 - 1) yang berkaitan dengan versi platform. Pada masa ini, nombor di luar julat akan ditafsirkan sebagai jenis apungan, jadi pertimbangan fungsi is_int() akan menjadi palsu. Berikut ialah limpahan integer 64-bit:
Mengikut manual laman web rasmi php:
Jadi untuk integer 32-bit, ditandatangani
2^31=2147483648
(kira-kira 2 bilion), ia adalah nombor 10 digit, jadi untuk situasi yang anda nyatakan, adalah benar bahawa lebih daripada 9 digit akan kembali palsu.