PHP基础——数据类型之间的相互转换
1.自动转换类型:自动转换,通常发生在不同数据类型的变量进行混合运算时。一般只有四种标量类型int、float、string、bool才会进行自动转换。
注:
[*] 布尔型参与运算,true转换为1,false转换为0;
[*] null参与运算,转换为0
[*] int与float参与运算,先把int转换成float在运算。
[*] 字符串、数字参与运算,字符串先转换成数字。转换后的数字从字符串开始的数值开始,不带小数点则为int,否则为false。字符串"abcsd"直接转换成0;
2.强制类型转换:
强制转换方法:
[*] 在转换的变量前加上目标类型,包括(int)、(bool)、(float)、(string)、(array)、(object)
[*] 使用内置转换函数intval()、floatval()、strval()
以上两种方法均没有改变被转换变量本身的类型,而是转换得到新的类型数据值给变量,原始变量的类型和值不变。
[*] setType();会将变量本身类型改变成其他类型。
注意:
[*] 类型转换中浮点型转换成整型,会舍弃小数部分,只保留整数。
[*] 字符串转换为数字时,转换后的数字是从字符串开始部分的数值型字符部分转换的。
3.变量类型的内置测试函数:
[*] gettype();确定变量类型,并返回一个包含名称的字符串。
[*] is_bool():判定是否为bool
[*] is_int();判定是否为整型
[*] is_float():判定是否为浮点型
[*] is_string():判定是否为字符串
[*] is_array();判定是否为数组
[*] is_object():判定是否为对象
[*] is_resource():判定是否为资源
[*] is_null():判断是否为空
[*] is_scalar():判断是否为标量
[*] is_numeric():判断是否为数字或数字字符串
[*] is_callable():判断是否为有效函数名
页:
[1]