PHP 数字
在本章中,我们将深入了解整数、浮点数和数字字符串。
PHP 数字
PHP 中有三种主要的数字类型
整数
浮点数
数字字符串
此外,PHP 还有另外两种用于数字的数据类型
无穷大
NaN
当你为它们分配一个值时,数字类型变量就会被创建
示例
$a = 5;
$b = 5.34;
$c = "25";
要验证 PHP 中任何对象的类型,请使用 var_dump()
函数
PHP 整数
2, 256, -256, 10358, -179567 都是整数。
整数是一个没有小数部分的数字。
在 32 位系统中,整数数据类型是非小数,介于 -2147483648 到 2147483647 之间,在 64 位系统中,介于 -9223372036854775808 到 9223372036854775807 之间。大于(或小于)此值的数值将以浮点数形式存储,因为它超出了整数的限制。
注意:另一个需要了解的重要事项是,即使 4 * 2.5 等于 10,结果也将存储为浮点数,因为其中一个操作数是浮点数(2.5)。
以下是整数的一些规则
- 整数必须至少包含一位数字
- 整数不能包含小数点
- 整数可以是正数或负数
- 整数可以用三种格式指定:十进制(以 10 为基数)、十六进制(以 16 为基数,以 0x 为前缀)、八进制(以 8 为基数,以 0 为前缀)或二进制(以 2 为基数,以 0b 为前缀)
PHP 有以下预定义的整数常量
PHP_INT_MAX
- 支持的最大整数PHP_INT_MIN
- 支持的最小整数PHP_INT_SIZE
- 整数的大小(以字节为单位)
PHP 有以下函数用于检查变量类型是否为整数
is_int()
is_integer()
-is_int()
的别名is_long()
-is_int()
的别名
PHP 浮点数
浮点数是指带小数点的数字或以指数形式表示的数字。
2.0、256.4、10.358、7.64E+5、5.56E-5 都是浮点数。
浮点类型数据通常可以存储高达 1.7976931348623E+308 的值(与平台有关),精度最大为 14 位数字。
PHP 有以下预定义的浮点数常量(从 PHP 7.2 开始)
PHP_FLOAT_MAX
- 可表示的最大浮点数PHP_FLOAT_MIN
- 可表示的最小正浮点数PHP_FLOAT_DIG
- 可以四舍五入到浮点数并返回,而不会损失精度的十进制数字数量PHP_FLOAT_EPSILON
- 最小的可表示的正数 x,使得 x + 1.0 != 1.0
PHP 有以下函数用于检查变量类型是否为浮点数
is_float()
is_double()
-is_float()
的别名
PHP 无穷大
大于 PHP_FLOAT_MAX
的数值被认为是无穷大。
PHP 有以下函数用于检查数值是有限还是无穷大
但是,PHP var_dump()
函数将返回数据类型和值
PHP NaN
NaN
代表非数字。
NaN
用于表示无法进行的数学运算。
PHP 有以下函数用于检查值是否为非数字
但是,PHP var_dump()
函数将返回数据类型和值
PHP 数值字符串
PHP is_numeric()
函数可用于判断变量是否为数字。如果变量是数字或数值字符串,则函数返回 true,否则返回 false。
示例
检查变量是否为数字
$x = 5985;
var_dump(is_numeric($x));
$x = "5985";
var_dump(is_numeric($x));
$x = "59.85" + 100;
var_dump(is_numeric($x));
$x = "Hello";
var_dump(is_numeric($x));
亲自尝试 »
注意:从 PHP 7.0 开始:is_numeric()
函数将对十六进制形式的数值字符串(例如 0xf4c3b00c)返回 FALSE,因为它们不再被视为数值字符串。
PHP 将字符串和浮点数转换为整数
有时需要将数值转换为其他数据类型。
(int)
、(integer)
和 intval()
函数通常用于将值转换为整数。
示例
将浮点数和字符串转换为整数
// Cast float to int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;
echo "<br>";
// Cast string to int
$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast;
亲自尝试 »
有关转换的更多信息,请参阅 PHP 转换章节。