php -v
PHP 7.2.1 (cli) (built: Jan 4 2018 04:28:54) ( NTS MSVC15 (Visual C++ 2017) x86 )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
可见本机安装的是32位的PHP。
先来看几个常量
PHP_INT_MAX 自PHP 5.0.5后,最大值可以用常量 PHP_INT_MAX 来表示
PHP_INT_MIN PHP 7.0.0 及以后的版本中用常量 PHP_INT_MIN 表示最小值
PHP_INT_SIZE 当前系统 Integer 值的字节长度
值得注意的是 PHP 不支持无符号的 integer ,也就是整型都是有符号的,这样它能表示的最大值就会小一半了。
如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。也就是整型将会溢出为float。
var_dump(PHP_INT_MAX);
// int(2147483647)
var_dump(PHP_INT_MIN);
// int(-2147483648)
var_dump(PHP_INT_SIZE);
// int(4) 四个字节,也就是32位
var_dump(pow(2,31)-1);
// float(2147483647),因为 pow(2,31) 已经为2147483648 > 2147483647,所以将会以float运算
可以大致记一下,32位平台21亿,64位9E18