数据类型

1. 什么是类型

不同的数据类型实在便是所存储数据的不同种类。

php校验文件类型PHP中的数据类型及实例演示 PHP

整型(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. 严格模式