intval()
和 strval()
是 PHP 中两个不同的类型转换函数,它们的主要区别在于将变量转换为不同的数据类型
intval()
函数用于将一个值或字符串转换为一个整数。如果给定的值为空、布尔值 false
、null
或者非数字字符串,则返回 0。如果给定的值为数字字符串,则返回对应的整数值。如果给定的值为浮点数,则返回其截断后的整数值。示例:
$num = "42";
$int_val = intval($num); // $int_val 为 42
$bool_val = true;
$int_val = intval($bool_val); // $int_val 为 1
$str_val = "hello";
$int_val = intval($str_val); // $int_val 为 0
strval()
函数用于将一个值转换为其对应的字符串表示形式。如果给定的值为空、布尔值 false
、null
或者数字,则返回空字符串 ""
。如果给定的值为数组,则返回数组中所有元素的字符串连接结果。如果给定的值为对象,则返回该对象的类名。示例:
$num = 42;
$str_val = strval($num); // $str_val 为 "42"
$bool_val = true;
$str_val = strval($bool_val); // $str_val 为 "1"
$arr = array(1, 2, 3);
$str_val = strval($arr); // $str_val 为 "123"
class MyClass {};
$obj = new MyClass();
$str_val = strval($obj); // $str_val 为 "MyClass"
总结:
intval()
主要用于将值或字符串转换为整数。strval()
主要用于将值转换为字符串表示形式。