数据类型转换
php数据类型转换
1.PHP是一门弱类型语言.
2.php数据类型转换方式:2种
a) 自动数据类型转换
b) 强制数据类型转换
3.自动类型转换的特征:
a) 自动类型转换不需要人工干预.
b) 自动类型转换发生在运算或者判断过程中.
c) 自动类型的转换仅限标量
d) 字符串转换特征:
i. 如果以数值开头,则保留数值部分,去掉数值后的其他字符,类型变为整型或者浮点型
ii. 如果不是以数值开头,那么直接转化为0(不包括+和-)
iii. 如果以数值开头,且存在多个小数点,那么仅有第一个小数点表示数值,后面的都是其他字符会被舍去
e) 转换时,一般都向着更精确的数据类型转换.
4. 强制数据类型转换
获取数据类型的方法:
1.var_dump() 将变量的值和类型都输出到页面中
优点;既能够输出变量的数据值也能输出类型
缺点: 不能够被接受,只能用于测试。
仅用于程序调试.
2.gettype() 获取变量的数据类型
用法: 结果变量=gettype(变量)
可能获取的结果:
“boolean”(从 PHP 4 起)
“integer”
“double”(由于历史原因,如果是 float 则返回“double”,而不是“float”)
“string”
“array”
“object”
“resource”(从 PHP 4 起)
“NULL”(从 PHP 4 起)
“user function”(只用于 PHP 3,现已停用)
“unknown type”
优点: 可以获取任何数据类型,并且可以被变量接受.
缺点: 功能强大,但是效率低.
3.is系列的类型判断(效率高)
is_int() 、 is_integer() 、is_long()检测是否是整型
Is_float()、is_doublue()、is_real() 检测是否是浮点型
is_string() 检测是否是字符串类型
is_bool() 检测是否是布尔类型
is_array() 检测是否是数组类型
is_object() 检测是否是对象类型
Is_resource() 检测是否是资源类型
is_null() 检测是否是null值
Is_numeric() 检测是否是数值类型 (整型/浮点型/数值字符串)
is_scalar() 检测是否是标量
强制转换数据类型的方法:
强制类型转换方法三种:
1.语言结构方式改变类型
格式: 新变量=(数据类型关键字)原变量
整型: int、integer
浮点型:float、double、real
字符串:string
布尔值: bool、boolean
数组: array
对象:object
资源: 不能转换
Null:不需要转换
2.使用指定的类型转换功能
Strval()、intval()、floatval()
格式: 新变量=功能(变量)
3.settype () 设置任意数据类型功能
格式: settype(变量,类型名称)
注意:该方式改变原有数据类型.
整型: int、integer
浮点型:float
字符串: string
布尔值: bool、boolean
数组:array
对象:object
Null:null