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
时,NaN
和 Infinity
将始终为零。
切勿将未知分数转换为 int
,因为这有时会导致意外结果。
<?php
echo (int) ( (0.1+0.7) * 10 ); // echoes 7!
?>
输出结果为:
7
如果字符串是数字或前导数字,则它将解析为相应的整数值,否则将其转换为零 (0
)。
null
始终转换为零 (0
)。