PHP 整数怎么用?PHP int 类型详解与转换方法?

文章导读
Previous Quiz Next PHP 中的整数 Integer 是 PHP 中的内置标量类型之一。没有小数点的完整数字在 PHP 中属于 “int” 类型。整数可以用十进制(基数 10)、十六进制(基数 16)、八进制(基数 8)或二进制(基数 2)表示。
📋 目录
  1. A PHP 中的整数
  2. B PHP 中声明整数的语法
  3. C 整数的规则
  4. D PHP 中的整数范围
  5. E 示例
  6. F 示例
  7. G 示例
  8. H 示例
  9. I 整数的算术运算
  10. J 检查整数的 PHP 函数
A A

PHP - 整数



Previous
Quiz
Next

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 intsint 的大小与平台相关。在 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() 的别名。很少使用,但工作方式相同。