PHP中数据类型分为三大类八小类
-
基本数据类型
整形:存储整数数据
浮点型:存储小数数据和超过整形范围的整数数据
布尔型:存储布尔型数据,只有true和false两个值
字符串型:存储字符串数据(最常见) -
复合数据类型
数组型:存储数组数据(即多个数据存放到一个变量中0)
对象型:存放对象数据,由类实例化得到(面向对象) -
特殊数据类型
资源型:存储外部资源数据(数据库资源/文件资源)
空型:变量没有存储任何数据 -
整型数据类型:在PHP中整形采用8个字节存储数据
- 小数数据类型(浮点型):在PHP中同样采用8个字节存储数据,浮点型也提供了多种小数存储方法(如科学计数法)
- 浮点型精度问题:浮点与整形一样使用8个字节存储数据,但是能够表示的数据却会比整数大很多,存储的数值的精度只能保证在13-14位之间,超过该部分就会四舍五入 (丢失精度)
- 布尔数据类型:布尔类型是一种简单的数据类型,专门用于对某些注重结果的数据存储,结果中只会有两个值True和False
- - 字符串数据类型:凡是用户输入的数据,和程序员使用了引号定义数据,系统都会理解为字符串,在PHP7中字符串的长度理论上无限制
单引号和双引号都可以定义字符串,但是彼此是有区别的:
-
单引号中只能解析少量的转义字符:\’ , \
-
双引号中能解析较多的转义字符:$ , \” , \ ,\n ,\t
-
双引号中能够解析嵌套在字符串里的PHP变量(注意变量要与其他字符串分离,人工使用{})
-
PHP考虑有些特殊情况下,字符串很长,而且有格式存在,所以PHP针对单引号和双引号还做一层扩展:nowdoc结构(单引号)和heredoc结构(双引号) -
nowdoc是类似单引号功能
-
heredoc是类似双引号功能
-
nowdoc和heredoc在内部的所有内容都是属于字符串本身(不能写注释)
-
nowdoc和heredoc开始符号后不能有任何的内容
-
nowdoc和heredoc结束符号必须顶格,且后面除了语句结束符不能有任何内容
PHP数组
1.定义数组:在PHP中可以通过多种方式来定义数组,通过的方式如下
-
使用array关键字来初始化数组
-
使用数组括号[]来初始化数组
-
使用变量跟[]来初始化数组,但是这个时候需要给定一个值,而且一次只能增加元素
-2.PHP中数组的使用:PHP中数组的访问其实就是访问数组中的某个元素值,访问方式必须通过数组下标进行访问,默认数组元素的下标是不可见的,根据元素的顺序从0开始
3.PHP中数组的特点 -
PHP数组中的元素没有数量限制,即数组不限定长度
-
PHP数组可以动态添加元素
-
PHP数组的元素值可以是任意数据类型
-
PHP数组下标可以是纯数字(索引数组),纯字符(关联数组),和混合数字和字符串(混合数组)
4.二维数组:普通数组基本上是一维数组,即数组里面的元素全部都是一维的,但是有时候,尤其在大数据处理的情况下,通常都会存在数组元素本身也是数组的情况,我们把数组元素都是一维数组的数组称之为二维数组另外,理论上将,PHP中数组没有限定数组到底可以多少层套用,但是建议数组的层级不要超过三维