易百教程

PHP整数转换

PHP 中没有 int 除法运算符,为此使用 intdiv() 函数。1/2 产生浮点数 0.5

该值可以转换为 int 以将其舍入为零,或者 round() 函数可以更好地控制舍入。

<?php
var_dump(25/7);         // float(3.5714285714286)
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4)
?>

运行结果如下:

转换为整数
要将值显式转换为 int 类型,请使用 (int)(integer) 强制转换。

但是,在大多数情况下,不需要强制转换,因为如果运算符、函数或控制结构需要 int 参数,则会自动转换值。

也可以使用 intval() 函数将值转换为 int

如果将资源转换为 int,则结果将是 PHP 在运行时分配给资源的唯一资源编号。

从布尔值中,false 将产生 0(零),true 将产生 1(一)。

float 转换为 int 时,数字将四舍五入为零。

当转换为 int 时,NaNInfinity 将始终为零。

切勿将未知分数转换为 int,因为这有时会导致意外结果。

<?php
echo (int) ( (0.1+0.7) * 10 ); // echoes 7!
?>

输出结果为:

7

如果字符串是数字或前导数字,则它将解析为相应的整数值,否则将其转换为零 (0)。

null 始终转换为零 (0)。