数据类型转换:
1自动类型转换
2强制类型转换
自动类型转换特点:
1不需要人工干预
2自动类型转换常发生在运算和判断中
3自动类型转换仅限标量类型。
4在字符串转为话数字的时候需要注意,如果字符串开头是数字 则转为数值部分 如果不是数字则转为0
获取数据类型:
Var_dump(); 将类型和值都显示出来。
优点:既可以看类型也可以看值
缺点:无法被程序变量接收。
Gettype();获取数据类型
用法 变量= gettype(变量)
得到的值:
整型: ineger
浮点型:double
字符串:string
...
优点:可以检测任意的数据类型,也可以被程序所接收
缺点:效率较低,不推荐使用。
Is系列检测(效率高推荐使用)
整型:is_int(); is_integer(); 如果为整型则为true否则为false
浮点型:is_float(); is_double(); is_real();
字符串:is_string();
布尔:is_bool();
数组:is_array();
对象:is_object();
资源:is_resource();
空:is_null();
是否为标量类型:is_scalar(); //整型 浮点型 字符串 布尔值都是真其余全是假;
是否为数值类型:is_numeric();//只有整型或浮点型或纯数字字符串为真其余全是假
强制类型转换:
1使用语法结构来进行强制类型转换
新变量 = (数据类型关键字)原变量;
数据类型关键字:
整型:Int integer
浮点型:Float double real
字符串:String
布尔:Bool boolean
能够转为布尔类型false情况
整型 0
浮点型 0.0
字符串 ‘空字符串’ ‘0’
布尔 false
Null
数组:array
对象:object
资源:不能转换
Null:不需要转换
2使用函数来进行强制类型转换
Intval() 强制将其他类型转为整型
Floatval();强制将其他类型转换浮点型
Strval();强制将其他类型转换为字符串
3: 使用settype来进行强制类型转换:
格式:Settype(原变量,‘类型关键字’);
类型关键字:
整型: int integer
浮点型:double float
字符串:string
布尔:boolean bool
数组:array
对象:object
资源:不能被转换
Null:null