intval()
和 strval()
是 PHP 中两个不同的类型转换函数,它们的主要区别在于将变量转换为不同的数据类型
- intval():
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():
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()
主要用于将值转换为字符串表示形式。