📅  最后修改于: 2023-12-03 15:18:31.836000             🧑  作者: Mango
在 PHP 中,类型转换是一种将变量从一种数据类型转换为另一种数据类型的过程。在这篇文章中,我们将重点介绍将 PHP 类型转换为 int 的方法。
可以使用 (int)
或 intval()
函数将字符串转换为 int 类型。
$str = '123';
$int1 = (int) $str;
$int2 = intval($str);
var_dump($int1); // int(123)
var_dump($int2); // int(123)
请注意,如果字符串中包含非数字字符,则将在转换时忽略这些非数字字符。
$str = '123abc';
$int1 = (int) $str;
$int2 = intval($str);
var_dump($int1); // int(123)
var_dump($int2); // int(123)
此外,如果字符串以数字开头,但不是纯数字,则将截断字符串并返回其数字部分。
$str = '123abc456';
$int1 = (int) $str;
$int2 = intval($str);
var_dump($int1); // int(123)
var_dump($int2); // int(123)
可以使用 (int)
或 intval()
函数将布尔值转换为 int 类型。
$bool = true;
$int1 = (int) $bool;
$int2 = intval($bool);
var_dump($int1); // int(1)
var_dump($int2); // int(1)
请注意,true
转换为 1
,false
转换为 0
。
$bool = false;
$int1 = (int) $bool;
$int2 = intval($bool);
var_dump($int1); // int(0)
var_dump($int2); // int(0)
可以使用 (int)
或 intval()
函数将浮点数转换为 int 类型。
$float = 123.45;
$int1 = (int) $float;
$int2 = intval($float);
var_dump($int1); // int(123)
var_dump($int2); // int(123)
请注意,在转换浮点数时,将删除小数部分。
$float = 123.99;
$int1 = (int) $float;
$int2 = intval($float);
var_dump($int1); // int(123)
var_dump($int2); // int(123)
不能将数组直接转换为 int 类型。如果需要,可以使用 (int)
或 intval()
函数转换数组中的元素。
$arr = [1, '2', true, 4.5];
$int1 = (int) $arr[0];
$int2 = intval($arr[1]);
$int3 = (int) $arr[2];
$int4 = intval($arr[3]);
var_dump($int1); // int(1)
var_dump($int2); // int(2)
var_dump($int3); // int(1)
var_dump($int4); // int(4)
请注意,这将忽略不是数字类型的元素,并对其余元素执行与上述类型转换相同的转换。