| 前边我们先容了PHP的8大数据范例,在实际应用中,我经常会遇到差别数据范例之间的运算,该怎样处理? 一、隐式转换(主动转换)
 1.别的范例转换为数值范例
 (1)true=1 $a=1+true =2
 (2)false=0 $a=1+false =1
 (3)null=0 $a=1+null =1
 (4)字符串:以字母开头的字符串直接转换为0;以数字开头的字符串截取第一个数值。
 $a=1+’a’ =1
 $a=1+’12b3’ =13
 2.别的范例转换为字符串范例(echo “华仔老师”,null,”是个帅哥!”)
 (1)null转换为空字符串
 (2)true转换为1
 (3)false转换为空字符串
 (4)数组转换为Array
 3.别的范例转换为布尔范例(非0非空转换为true,是0是空转换为false)
 (1)0转换为false
 (2)0.0转换为false
 (3)空字符串或”0”都转换为false
 (4)null转换为false
 (5)空数组转换为false
 二、显式转换(强制转换)
 1.临时转换
 (1)(数据范例) (int)、(float)、(bool)、(string)、(unset)、(array)、(object)
 注意:此方式不能转化为资源范例。
 (2)通过函数形式实现临时转换
 intval(变量) 转换为整数
 floatval(变量) 转换为小数
 strval(变量) 转换为字符串
 boolval(变量) 转换为布尔
 2.永久转换
 settype(变量,设置的范例) 设置变量范例
 gettype(变量) 得到变量范例
 
 
 附:判断数据范例
 is_int(变量) 是否整数
 is_float(变量) 是否小数
 is_string(变量) 是否字符串
 is_bool(变量) 是否布尔
 is_array(变量) 是否数组
 is_object(变量) 是否对象
 is_resource(变量) 是否资源
 is_null(变量) 是否为空
 is_numeric(变量) 是否数值
 
 |