php在变量的定义中不支持变量类型的指定,它是弱类型变量
变量类型转换分为强制转换与自动转换两种
目录
获取数据类型
var_dump() --返回类型与值
getType(变量) --只返回类型字符串
强制转换
可以使用以下两种方法:
- setType(变量, 类型); ---改变原变量的类型
- 在变量使用时,前面加上类型符号,例如$int = (int)$foo ---原变量类型不变
- 使用函数intval(), floatvar(), strval() ---原变量类型不变
<?php $foo = 10.9; setType($foo, int); $string = (string)$foo; $float = floatval($foo); echo var_dump($foo); //int(10) echo getType($string); //string echo getType($float); //double
自动转换
<?php $a = 10.5; $b = true; $c = "Hello"; echo $a+$b+$c; //11.5
类型判断
变量类型的测试函数:
- is_bool(): 判断是否是布尔型
- is_int(), is_integer(), is_long: 判断是否是整型
- is_float(), is_double(), is_real(): 判断是否为浮点型
- is_string(): 判断是否为字符串
- is_array(): 判断是否为数组
- is_object(): 判断是否为对象
- is_resource(): 判断是否为资源类型
- is_null(): 判断是否为null
- is_scalar(): 判断是否为标量
- is_numberic(): 判断是否为任何类型的数字和数字字符串
- is_callable(): 判断是否为有效的函数名