PHP - 整数
PHP 中的整数
Integer 是 PHP 中的内置标量类型之一。没有小数点的完整数字在 PHP 中属于 “int” 类型。整数可以用十进制(基数 10)、十六进制(基数 16)、八进制(基数 8)或二进制(基数 2)表示。
要使用八进制表示法,数字前需加 “0o” 或 “0O”(PHP 8.1.0 及更早版本)。从 PHP 8.1.0 开始,前缀为 “0” 且没有小数点的数字即为八进制数。
要使用十六进制表示法,数字前加 “0x”。要使用二进制表示法,数字前加 “0b”。
PHP 中声明整数的语法
以下是在 PHP 编程语言中声明整数的语法 −
// 正整数 $num1 = 10; // 负整数 $num2 = -5; // 零 $num3 = 0;
整数的规则
整数有一些规则 −
整数必须至少有一个数字。
整数不能包含小数点。
整数可以是正数或负数。
有三种方式定义整数:十进制(基数 10)、十六进制(基数 16 - 前缀 0x)、八进制(基数 8 - 前缀 0)和二进制(基数 2 - 前缀 0b)。
PHP 中的整数范围
整数的大小取决于系统,32 位系统范围为 -2,147,483,648 到 2,147,483,647,64 位系统范围更大。
要检查 PHP 中的最大和最小整数值,可以使用 −
<?php // 最大整数值 echo PHP_INT_MAX; echo "\n"; // 最小整数值 echo PHP_INT_MIN; ?>
输出
它将生成以下 结果 −
9223372036854775807 -9223372036854775808
示例
看以下示例 −
<?php $a = 1234; echo "1234 is an Integer in decimal notation: $a\n"; $b = 0123; echo "0o123 is an integer in Octal notation: $b\n"; $c = 0x1A; echo "0xaA is an integer in Hexadecimal notation: $c\n"; $d = 0b1111; echo "0b1111 is an integer in binary notation: $d"; ?>
输出
它将产生以下输出 −
1234 is an Integer in decimal notation: 1234 0o123 is an integer in Octal notation: 83 0xaA is an integer in Hexadecimal notation: 26 0b1111 is an integer in binary notation: 15
从 PHP 7.4.0 开始,整数字面量可以使用下划线 (_) 作为数字分隔符,以提高字面量的可读性。这些下划线会被 PHP 的扫描器移除。
示例
看以下示例 −
<?php $a = 1_234_567; echo "1_234_567 is an Integer with _ as separator: $a"; ?>
输出
它将生成以下输出 −
1_234_567 is an Integer with _ as separator: 1234567
PHP 不支持 unsigned ints。int 的大小与平台相关。在 32 位系统上,最大值为大约 20 亿。64 位平台通常最大值为大约 9E18。
可以使用常量 PHP_INT_SIZE 确定 int 大小,使用常量 PHP_INT_MAX 确定最大值,使用常量 PHP_INT_MIN 确定最小值。
如果整数数字超出 int 类型的范围,或者任何操作导致超出 int 类型范围的数字,它将被解释为 float。
示例
看以下示例 −
<?php $x = 1000000; $y = 50000000000000 * $x; var_dump($y); ?>
输出
这将产生以下输出 −
float(5.0E+19)
PHP 没有整数除法运算符。因此,整数与 float 之间的除法运算总是返回 float。要获得整数除法,可以使用内置函数 intdiv()。
示例
看以下示例 −
<?php $x = 10; $y = 3.5; $z = $x/$y; var_dump ($z); $z = intdiv($x, $y); var_dump ($z); ?>
输出
此 PHP 代码的输出为 −
float(2.857142857142857) int(3)
整数的算术运算
对于整数,你可以执行加法、减法、乘法和除法等数学运算。以下是展示用法示例 −
<?php $a = 10; $b = 5; // 加法 echo "Addition = ".$a + $b; echo "\n"; // 减法 echo "Subtraction = ".$a - $b; echo "\n"; // 乘法 echo "Multiplication = ".$a * $b; echo "\n"; // 除法 echo "Division = ".$a / $b; ?>
输出
这将生成以下结果 −
Addition = 15 Subtraction = 5 Multiplication = 50 Division = 2
检查整数的 PHP 函数
PHP 提供了以下函数或方法来检查变量的类型是否为 integer −
is_int(): 用于检查给定的变量是否为 integer。
is_integer() - alias of is_int(): 它是 is_int() 的另一个名称(别名)。其工作方式与 is_int() 相同。
is_long() - alias of is_int(): 它也是 is_int() 的别名。很少使用,但工作方式相同。