分享

PHP中的数据类型及实例演示

 东西二王 2019-05-17

数据类型

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. 字符串型

字符串型的数据是表示在引号之间的。双引号和单引号都可以表示字符串,但是两种表示方法也有一定的区别。双引号是可以表示所有的字符,但是在其中的变量显示变量的值,而不是变量的变量名,而有些特殊字符加上“/”符号就可以了;单引号内的字符串是被直接表示出来的。

实例:

PHP中的数据类型及实例演示

执行结果

PHP中的数据类型及实例演示

6. 数组型

数组是PHP变量的集合,是按照“键值”与“值”的对应关系组织数据的。数组的键值既可以是整数,也可以是字符串。另外,数组不特意表明键值得默认情况下,数组元素的键值为从零开始的整数。

在PHP中使用list()和array()函数来创建数组,也可以直接进行赋值。

实例:使用array()函数创建数组

方式一

PHP中的数据类型及实例演示

执行结果

PHP中的数据类型及实例演示

分析:(1)程序中”=>”为数组赋值,数组的下标只是存储的标识,没有任何意义,数组元素的排列以加入的先后顺序为准。

(2)本程序采用for循环输出数组,其中count函数返回数组的个数,echo函数返回当前数组指针的索引值对。

方式二

PHP中的数据类型及实例演示

执行结果

PHP中的数据类型及实例演示

方式三

PHP中的数据类型及实例演示

执行结果

PHP中的数据类型及实例演示

7. 对象型

对象就是类的实例。当一个类被实例化以后,这个被生成的对象被传递给一个变量。这个变量就是对象型变量。对象型变量属于资源型变量。

8. null型

null型是仅拥有null这个值得类型。这个类型用来标记一个变量为空。一个空字符串与null是不同的。在数据库存储时会把空字符串和null区分处理。null型在布尔判断时永远为false。很多情况下,在声明一个变量的时候可以直接先赋值为null型,如$value = null;

9. 资源类型

资源类型是十分特殊的数据类型。它表示PHP的扩展资源,可以是一个打开的文件,也可以是一个数据库连接,甚至可以是其他数据类型。

10.数据类型之间的相互转换

a) 自动数据类型转换

这种转换方式最常用,直接输入数据的转换类型即可。float型转换为整数int型,小数点后面的数将被舍弃。如果float数值超过了整数的取值范围,则结果可能是0或者整数的最小负数。

实例:

PHP中的数据类型及实例演示

执行结果

PHP中的数据类型及实例演示

b) 强制数据类型转换

在PHP中,可以使用settype函数强制转换数据类型。语法:

bool settype(var string type)

注:type的可能值不能包含资源类型数据。

PHP中的数据类型及实例演示

执行结果

PHP中的数据类型及实例演示

二、标量类型的声明

默认情况下,所有PHP文件都处于弱类型校验模式。PHP7加了标量类型声明的特性。

语法:declare(strict_types=1);

通过strict_types的值(1或0)来表示校验模式:1表示严格类型校验模式,作用于函数调用和返回语句;0表示强制类型校验模式。

注:可以声明标量类型的参数类型包括:int、float、bool、string、interface、array和callable。

1. 强制模式

2. 严格模式

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多