首页 > 编程笔记

PHP数据类型(8种)

不同的数据类型其实就是所存储数据的不同种类,PHP 的不同数据类型主要包括:
作为弱类型语言,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。布尔型是十分有用的数据类型,程序可以通过它实现逻辑判断的功能。

其他的数据类型基本都有布尔属性:

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 的扩展资源,可以是一个打开的文件,也可以是一个数据库连接,甚至可以是其他的数据类型。

但是在编程过程中,资源类型却是几乎永远接触不到的。

推荐阅读