整数

PHP中的整数最大为 9223372036854775807,最小为 -9223372036854775807

范例

整数文字表达

[运行代码]

$a = 1234; // 十进制数
echo $a, "\n";
$b = -123; // 负数
echo $b, "\n";
$c = 0123; // 八进制数 (等于十进制 83)
echo $c, "\n";
$d = 0x1A; // 十六进制数 (等于十进制 26)
echo $d, "\n";
$e = 0b11111111; // 二进制数字 (等于十进制 255)
echo $e, "\n";

[执行结果]

1234
-123
83
26
255

内存地址表示法

内存地址一般为 unsigned int , 一般使用16进制表示:

[运行代码]

echo 0x10cb020;

[执行结果]

17608736

最大整数

[运行代码]

var_dump(PHP_INT_SIZE); // 8
var_dump(PHP_INT_MAX); // 9223372036854775807

[执行结果]

int(8)
int(9223372036854775807)

区分是否浮点数

[运行代码]

$a = 1;
var_dump($a);
$a = 1.0; 
var_dump($a); // 虽然看起来是1,但是float类型

[执行结果]

int(1)
float(1)

整数和字符串转换

从第一个非数字的位置断开转换

[运行代码]

echo intval("123abcd"), "\n";

echo intval("abcd123"), "\n";

[执行结果]

123
0

注意事项

  • 在某些场合必须要用 intval() 进行强制转换,否则虽然”看起来“是整形,实际上是 浮点型。
  • 要注意是否有溢出。
  • 和其他语言交互时,最好以string的方式传递,使用 strval() 进行强制转换

数值函数

  • abs() — 绝对值
  • acos() — 反余弦
  • acosh() — 反双曲余弦
  • asin() — 反正弦
  • asinh() — 反双曲正弦
  • atan2() — 两个参数的反正切
  • atan() — 反正切
  • atanh() — 反双曲正切
  • base_convert() — 在任意进制之间转换数字
  • bindec() — 二进制转换为十进制
  • ceil() — 进一法取整
  • cos() — 余弦
  • cosh() — 双曲余弦
  • decbin() — 十进制转换为二进制
  • dechex() — 十进制转换为十六进制
  • decoct() — 十进制转换为八进制
  • deg2rad() — 将角度转换为弧度
  • exp() — 计算 e 的指数
  • expm1() — 返回 exp(number) - 1,甚至当 number 的值接近零也能计算出准确结果
  • floor() — 舍去法取整
  • fmod() — 返回除法的浮点数余数
  • getrandmax() — 显示随机数最大的可能值
  • hexdec() — 十六进制转换为十进制
  • hypot() — 计算一直角三角形的斜边长度
  • intdiv() — 对除法结果取整
  • is_finite() — 判断是否为有限值
  • is_infinite() — 判断是否为无限值
  • is_nan() — 判断是否为合法数值
  • lcg_value() — 组合线性同余发生器
  • log10() — 以 10 为底的对数
  • log1p() — 返回 log(1 + number),甚至当 number 的值接近零也能计算出准确结果
  • log() — 自然对数
  • max() — 找出最大值
  • min() — 找出最小值
  • mt_getrandmax() — 显示随机数的最大可能值
  • mt_rand() — 生成更好的随机数
  • mt_srand() — 播下一个更好的随机数发生器种子
  • octdec() — 八进制转换为十进制
  • pi() — 得到圆周率值
  • pow() — 指数表达式
  • rad2deg() — 将弧度数转换为相应的角度数
  • rand() — 产生一个随机整数
  • round() — 对浮点数进行四舍五入
  • sin() — 正弦
  • sinh() — 双曲正弦
  • sqrt() — 平方根
  • srand() — 播下随机数发生器种子
  • tan() — 正切
  • tanh() — 双曲正切

参考资料