滚动
PHP课程 - 第4课 - PHP 数值型变量
在上一节课中,我们学习了字符串变量,现在让我们来看看 PHP 中的数值型变量。最简单的数值类型是整数。
PHP 中的整数(Integer)
整数包括所有位于区间 [-2 147 483 648 ... 2 147 483 647] 内的数值,也就是说从 -2147483648 到 2147483647。这个限制是因为一个整数占用 32 位(bits)进行编码。
在 PHP 中,整数变量通过简单的赋值语句来定义:
<?php $x = 5; $y = -8; ?>
除了我们熟悉的十进制数(decimal),PHP 还支持其他进制的整数,例如八进制(octal)和十六进制(hexadecimal)。
<?php $i = 456; // 十进制数 $i = -895; // 负数 $i = 0121; // 八进制数(相当于十进制的 81) $i = 0x1B; // 十六进制数(相当于十进制的 27) ?>
除了整数之外,PHP 还支持浮点数(小数)。
PHP 中的浮点数(float / double)
浮点数用于表示带小数部分的数值,写法如下:
$pi = 3.14;
在 PHP 中,小数点使用英文句点(.)来分隔整数部分和小数部分。不要将它与字符串拼接运算符混淆。
浮点数也可以用科学计数法表示:
$b = 3.2e5; // 相当于 3.2 × 10⁵ $c = 9E-11; // 相当于 9 × 10⁻¹¹
浮点数(也称为带小数点的数或浮点型数值)在内存中占用 64 位,也就是整数占用空间的两倍。
在 PHP 中,大多数浮点数是通过除法运算得到的:
<?php $a = 1/3; print $a; ?>
输出结果为:
0.333333333333
不过要注意,有时结果可能并不如你直觉所想:
<?php $a = 1/3; $a = $a * 3; print $a; ?>
结果将是 1,而不是 0.999999999。
如果你在普通计算器上做相同的计算(1 ÷ 3 × 3),结果往往会出现极小的误差,比如 0.9999999,这是因为计算器的精度有限。而 PHP 会在内部保留计算的精确性,它“记得”之前的运算过程,因此不会丢失任何结果的精度。