PHP 数据类型
数据类型:data type;在PHP中值的是数据存储本身的类型,而不是变量的类型。PHP是一种弱类型语言,变量本身没有数据类型。
PHP八种数据类型 3大类,8小类
简单(基本)数据类型:4小类
整形:int 系统分配四个字节存储,表示整数类型(有前提)
浮点型:float 系统分配八个字节存储,表示浮点型,护着整形存不下的整数
字符串型:string 系统根据实际长度分配,表示字符串,特征为``包裹
布尔类型:bool 布尔类型,只有两个值 True False
符合数据类型:2小类
对象类型:object 存放对象
数组类型:一次性存放多个数据
特殊数据类型
资源数据类型:resource 存放资源数据,通常是PHP外部数据(数据库、文件)
空类型:Null 空数据
类型转换
在很多情况下,需要转换数据类型,例如年龄用整形存储最好,获取外部数据类型转换为需要的数据类型。
有两种类型转换的方式
1、自动转换:系统根据需求,自己转换(用的比较多、效率比较低)
2、强制转换:手工的根据需要的数据类型进行转换
强制转换条件:在变量前加入一个括号,括号里面输入要转换的类型
在转换过程中,用的比较多的是转换为布尔类型(判断),或者是转换为数值类型(运算判断)。
其他类型转换为布尔类型,只有 true(1) 和 false(0)
在PHP中,比较少类型会变成 false
数据类型的判断
通过函数判断数据类型,来判断变量,最终返回这个变量所保存的数据类型:是一组以is_开头,名称为is_xxx(xxx为名称)
的函数。
返回结果为true 和 false
。
Bool类型不能使用 echo 来判断数据类型,可以使用var_dump
查看
因为使用 echo 输出的值是 1 或者 0 ,无法判断是字符串还是,布尔值类型
获取、设定数据类型
gettype()
:获取数据的类型
settype()
:设定数据类型,与强制转换不同
强制转换为使用时转换数据类型,不改变原先的数据类型,而settype()
会直接将原先的数据类型进行转换
整数类型、浮点数和字符串类型
整数类型
整数类型最多四个字节,一个字节为8位,就是32位
最后使用echo
输出,echo会使用十进制方式进行输出。
浮点类型
小数类型,以及超过整形所能存储的范围的整数(不能保证精度)
浮点数的定义方式
$a = 5.20
$a = 1.23e10 // 科学技术法其中e表示10,相当于 1.23 乘以10的10次方
同样是浮点数,值为0.7
,比较错误,所以最好不要用浮点数进行判断。
布尔类型
只要true和false
ture就是true,false就是false
通常用户数据判断,特别需要注意类型转换
Emptyt():判断数据的值是否为空,不是NULL
,如果是空返回true
,不是空返回false
isset():判断数据存储的变量是否存在,存在返回true
,不存在返回false
注意类型转换。