数据类型
1. 什么是类型
不同的数据类型其实就是所存储数据的不同种类。
整型(integer):用来存储整数。
浮点型 ( float ):用来存储实数。
字符串 型(string):用来存储字符串。
布尔型( boolean ):用来存储真(true)或者假(false)。
数组型(array):用来存储一组数据。
对象型(object):用来存储一个类的实例。
在强类型语言中,例如C语言,一个变量只能存储一种类型的数据,并且这个变量在使用前必须声明。PHP作为弱类型语言,给变量赋什么类型的值,这个变量就是什么类型。
$hello = 100; //由于100为整型,因此$hello变量为整型
2. 整型
整型是数据类型中最基本的类型,整型的取值从-2147483648到+2147483648。
例如:3560 //十进制整数
01223 //八进制整数
0x1223 //十六进制整数
3. 浮点型
浮点型表示实数。这个数据类型的大小为8个字节。取值2.2E-308~1.8E+308。
4. 布尔型
布尔型只有两个值,就是true和false。
其他的数据类型基本都有布尔类型:
a) 整型,为0时,其布尔属性为false,为非零值时,其布尔属性为true。
b) 浮点型,为0.0时,其布尔属性为false,为非零值时,其布尔属性为true。
c) 字符串型,为空字符串“”或者零字符串“0”时,其布尔属性为false,包好除此以外的字符串时其布尔类型为true。
d) 数组型,若不含任何元素,其布尔属性为false,只包含元素,则其布尔属性为true。
e) 对象型,资源型,其布尔类型永远为true。
f) null型,其布尔属性永远为false。
5. 字符串型
字符串型的数据是表示在引号之间的。 双引号 和 单引号 都可以表示字符串,但是两种表示方法也有一定的区别。双引号是可以表示所有的字符,但是在其中的变量显示变量的值,而不是变量的变量名,而有些特殊字符加上“/”符号就可以了;单引号内的字符串是被直接表示出来的。
实例:
执行结果
6. 数组型
数组是PHP变量的集合,是按照“键值”与“值”的对应关系组织数据的。数组的键值既可以是整数,也可以是字符串。另外,数组不特意表明键值得默认情况下,数组元素的键值为从零开始的整数。
在PHP中使用list()和array()函数来创建数组,也可以直接进行赋值。
实例:使用array()函数创建数组
方式一
执行结果
分析:(1)程序中”=>”为数组赋值,数组的下标只是存储的标识,没有任何意义,数组元素的排列以加入的先后顺序为准。
(2)本程序采用for循环输出数组,其中count函数返回数组的个数,echo函数返回当前 数组指针 的索引值对。
方式二
执行结果
方式三
执行结果
7. 对象型
对象就是类的实例。当一个类被实例化以后,这个被生成的对象被传递给一个变量。这个变量就是对象型变量。对象型变量属于资源型变量。
8. null型
null型是仅拥有null这个值得类型。这个类型用来标记一个变量为空。一个空字符串与null是不同的。在数据库存储时会把空字符串和null区分处理。null型在布尔判断时永远为false。很多情况下,在声明一个变量的时候可以直接先赋值为null型,如$value = null;
9. 资源类型
资源类型是十分特殊的数据类型。它表示PHP的扩展资源,可以是一个打开的文件,也可以是一个数据库连接,甚至可以是其他数据类型。
10.数据类型之间的相互转换
a) 自动数据类型转换
这种转换方式最常用,直接输入数据的转换类型即可。float型转换为整数int型,小数点后面的数将被舍弃。如果float数值超过了整数的取值范围,则结果可能是0或者整数的最小负数。
实例:
执行结果
b) 强制数据类型转换
在PHP中,可以使用settype函数强制转换数据类型。语法:
bool settype(var string type)
注:type的可能值不能包含资源类型数据。
执行结果
二、 标量 类型的声明
默认情况下,所有PHP文件都处于弱类型校验模式。PHP7加了标量类型声明的特性。
语法:declare(strict_types=1);
通过strict_types的值(1或0)来表示校验模式:1表示严格类型校验模式,作用于函数调用和返回语句;0表示强制类型校验模式。
注:可以声明标量类型的参数类型包括:int、float、bool、string、interface、array和callable。
1. 强制模式
2. 严格模式
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~