在本章中,我们将深入研究整数、浮点数和数字字符串。
关于 PHP 需要注意的一件事是它提供自动数据类型转换。
因此,如果将整数值分配给变量,则该变量的类型将自动为整数。然后,如果将字符串分配给同一变量,则类型将更改为字符串。
这种自动转换有时会破坏您的代码。
2、256、-256、10358、-179567 都是整数。
整数是没有小数部分的数字。
整数数据类型是 32 位系统中介于 -2147483648 和 2147483647 之间的非十进制数,以及 64 位系统中介于 -9223372036854775808 和 9223372036854775807 之间的非十进制数。大于(或小于)此值的值将存储为浮点数,因为它超出了整数的限制。
笔记:另一件需要知道的重要事情是,即使 4 * 2.5 是 10,结果也会存储为浮点型,因为其中一个操作数是浮点型 (2.5)。
以下是整数的一些规则:
PHP 有以下预定义的整数常量:
PHP 有以下函数来检查变量的类型是否为整数:
检查变量的类型是否为整数:
<?php
$x = 5985;
var_dump(is_int($x));
$x = 59.85;
var_dump(is_int($x));
?>
亲自试一试 »
浮点数是带有小数点的数字或指数形式的数字。
2.0、256.4、10.358、7.64E+5、5.56E-5 都是浮点数。
float 数据类型通常可以存储高达 1.7976931348623E+308 的值(取决于平台),并且最大精度为 14 位。
PHP 有以下预定义的浮点数常量(从 PHP 7.2 开始):
PHP 有以下函数来检查变量的类型是否为 float:
大于 PHP_FLOAT_MAX 的数值被视为无限。
PHP 有以下函数来检查数值是有限还是无限:
但是,PHP var_dump() 函数返回数据类型和值:
NaN 代表非数字。
NaN 用于不可能的数学运算。
PHP 有以下函数来检查值是否不是数字:
但是,PHP var_dump() 函数返回数据类型和值:
PHP is_numeric() 函数可用于查找变量是否为数字。如果变量是数字或数字字符串,则该函数返回 true,否则返回 false。
检查变量是否为数字:
<?php
$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,因为它们不再被视为数字字符串。
有时您需要将数值转换为另一种数据类型。
(int)、(integer) 或 intval() 函数通常用于将值转换为整数。
将浮点数和字符串转换为整数:
<?php
// 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;
?>
亲自试一试 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!