PHP数据类型(8种)
不同的数据类型其实就是所存储数据的不同种类,PHP 的不同数据类型主要包括:
作为弱类型语言,PHP 也被称为动态类型语言。在强类型语言(例如 C语言)中,一个变量只能存储一种类型的数据,并且这个变量在使用前必须声明变量类型。而在 PHP 中,给变量赋什么类型的值,这个变量就是什么类型。
例如,以下几个变量:
由此可见,对于变量而言,如果没有定义变量的类型,则它的类型由所赋值的类型决定。
整型可以表示为二进制、八进制、十进制和十六进制。要使用二进制表达,数字前必须加上 0b;要使用八进制表达,数字前必须加上 0;要使用十六进制表达,数字前必须加上 0x。
例如:
例如:
其他的数据类型基本都有布尔属性:
双引号几乎可以包含所有的字符,但是在其中的变量显示变量的值,而不是变量的变量名,有些特殊字符加上“\”符号就可以了;单引号内的字符是被直接表示出来的。
下面通过一个案例来讲解整型、浮点型、布尔型和字符串型数据的使用方法
在 PHP 中,使用 list() 函数或 array() 函数来创建数组,也可以直接进行赋值。
下面使用 array() 函数创建数组。
程序中用“=>”为数组赋值,数组的下标只是存储的标识,没有任何意义,数组元素的排列以加入的先后顺序为准。
程序采用 foreach() 法输出整个数组。
程序的运行结果为:
上面实例的语句可以简化为:
另外,读者还可以对数组的元素一个一个地赋值,下面举例说明。
一个空字符串与 NULL 是不同的,在数据库存储时会把空字符串和 NULL 区分开处理,NULL 型在布尔判断时永远为 false。
很多情况下,在声明一个变量的时候可以直接先赋值为 NULL 型,如 $value=NULL。
但是在编程过程中,资源类型却是几乎永远接触不到的。
- 整型(integer):用来存储整数。
- 浮点型(float):用来存储实数。
- 字符串型(string):用来存储字符串。
- 布尔型(boolean):用来存储真(true)或假(false)。
- 数组型(array):用来存储一组数据。
- 对象型(object):用来存储一个类的实例。
作为弱类型语言,PHP 也被称为动态类型语言。在强类型语言(例如 C语言)中,一个变量只能存储一种类型的数据,并且这个变量在使用前必须声明变量类型。而在 PHP 中,给变量赋什么类型的值,这个变量就是什么类型。
例如,以下几个变量:
$hello = "hello world";由于 hello world 是字符串,因此变量 $hello 的数据类型就是字符串类型。
$hello = 100;同样,由于 100 为整型,因此 $hello 也就是整型。
$wholeprice = 100.0;由于 100.0 为浮点型,因此 $wholeprice 就是浮点型。
由此可见,对于变量而言,如果没有定义变量的类型,则它的类型由所赋值的类型决定。
1、整型
整型是数据类型中最为基本的类型。在现有的 32 位运算器下,整型的取值是从 -2147483648 到 +2147483647。整型可以表示为二进制、八进制、十进制和十六进制。要使用二进制表达,数字前必须加上 0b;要使用八进制表达,数字前必须加上 0;要使用十六进制表达,数字前必须加上 0x。
例如:
<?php $a = 1234; // 十进制数 $a = -123; // 负数 $a = 0123; // 八进制数 (等于十进制83) $a = 0x1A; // 十六进制数 (等于十进制26) $a = 0b11111111; // 二进制数字 (等于十进制255) ?>在 PHP 8 中,整型值的字长可以用常量 PHP_INT_SIZE 来表示,最大值可以用常量 PHP_INT_MAX 来表示,最小值可以用常量 PHP_INT_MIN 表示。
2、浮点型
浮点型用于表示实数。在大多数运行平台下,这个数据类型的大小为 8 个字节。它的近似取值范围是 2.2E-308~1.8E+308(科学记数法)。例如:
-1.432 1E+07 0.0
3、布尔型
布尔型只有两个值,就是 true 和 false。布尔型是十分有用的数据类型,程序可以通过它实现逻辑判断的功能。其他的数据类型基本都有布尔属性:
- 整型:为 0 时,其布尔属性为 false;为非零值时,其布尔属性为 true。
- 浮点型:为 0.0 时,其布尔属性为 false;为非零值时,其布尔属性为 true。
- 字符串型:为空字符串“”或者零字符串“0”时,其布尔属性为 false;包含除此以外的字符串时,其布尔属性为 true。
- 数组型:若不含任何元素,其布尔属性为 false;只要包含元素,则其布尔属性为 true。
- 对象型和资源型:其布尔属性永远为 true。
- NULL 型:其布尔属性永远为 false。
4、字符串型
字符串型的数据是表示在引号之间的数据。引号分为双引号“"”和单引号“'”。这两种引号可以表示字符串,但是这两种表示方法也有一定的区别。双引号几乎可以包含所有的字符,但是在其中的变量显示变量的值,而不是变量的变量名,有些特殊字符加上“\”符号就可以了;单引号内的字符是被直接表示出来的。
下面通过一个案例来讲解整型、浮点型、布尔型和字符串型数据的使用方法
<?php $int1= 2021; // 十进制整数 $int2= 01223; //八进制整数 $int3=0x1223; //十六进制整数 echo "输出整数类型的值:"; echo $int1; echo "\t"; //输出一个制表符 echo $int2; //输出659 echo "\t"; echo $int3; //输出4643 echo "<br/>"; $float1=54.66; echo $float1; //输出54.66 echo "<br/>"; echo "输出布尔型变量:"; echo (Boolean)( $int1); //将int1 整型转化为布尔型变量 echo "<br/>"; $string1="字符串类型的变量"; echo $string1; ?>程序运行结果为:
输出整数类型的值:2021 659 4643
54.66
输出布尔型变量:1
字符串类型的变量
5、数组型
数组是 PHP 变量的集合,它按照“键”与“值”的对应关系组织数据。数组的键值既可以是整数,也可以是字符串。另外,数组在不特意表明键值的默认情况下,数组元素的键值为从零开始的整数。在 PHP 中,使用 list() 函数或 array() 函数来创建数组,也可以直接进行赋值。
下面使用 array() 函数创建数组。
<?php $arr = array( 0 => 15, 2 => 1E+05, 1 => "开始学习PHP基本语法了" ); foreach ($arr as $value) { echo $value . "<br/>"; } ?>分析:
程序中用“=>”为数组赋值,数组的下标只是存储的标识,没有任何意义,数组元素的排列以加入的先后顺序为准。
程序采用 foreach() 法输出整个数组。
程序的运行结果为:
15
100000
开始学习PHP基本语法了
上面实例的语句可以简化为:
<?php $arr=array(15,1E+05,"开始学习PHP基本语法了"); // 定义数组并赋值 for ($i=0;$i<3;$i++) { echo $arr[$i]."<br/>"; } ?>两种写法的运行结果相同。
另外,读者还可以对数组的元素一个一个地赋值,下面举例说明。
<?php $arr[0]=2021; // 对数组元素分别赋值 $arr[2]= 18.88; $arr[1]= "北风卷地白草折,胡天八月即飞雪。"; foreach ($arr as $value) { // 使用foreach()方法输出数组内容 echo $value."<br/>"; } ?>程序运行结果为:
2021
18.88
北风卷地白草折,胡天八月即飞雪。
6、对象型
对象就是类的实例。当一个类被实例化以后,这个被生成的对象被传递给一个变量,这个变量就是对象型变量。对象型变量也属于资源型变量。7、NULL型
NULL 类型是仅拥有 NULL 这个值的类型,用来标记一个变量为空。一个空字符串与 NULL 是不同的,在数据库存储时会把空字符串和 NULL 区分开处理,NULL 型在布尔判断时永远为 false。
很多情况下,在声明一个变量的时候可以直接先赋值为 NULL 型,如 $value=NULL。
8、资源类型
资源(resource)类型是十分特殊的数据类型。它表示 PHP 的扩展资源,可以是一个打开的文件,也可以是一个数据库连接,甚至可以是其他的数据类型。但是在编程过程中,资源类型却是几乎永远接触不到的。