标签:数据的类型转换
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():判断是否为有效函数名
标签:数据的类型转换
原文地址:http://saiyoung.blog.51cto.com/9162541/1874006