PHP 简明教程

PHP 数据类型

1. PHP 数据类型

变量可以存储不同类型的数据,而不同的数据类型可以实现不同的功能。

PHP 支持以下数据类型:

  • string(字符串/文本值)
  • int(整数/整数值)
  • float(浮点数/小数)
  • bool(布尔值/ true 或 false)
  • array(数组/包含多个值)
  • object(对象/将数据存储为对象)
  • null(空值/空变量)
  • resource(资源/引用外部资源)

2. 使用 var_dump() 获取数据类型

想要获取一个变量的数据类型及其具体值,可以使用 var_dump() 函数。

示例var_dump() 函数会输出(转储)数据类型和它的值:

$x = 5;
var_dump($x); // 输出 int(5)

3. PHP 字符串 (String) 数据类型

字符串是字符的序列,比如 "Hello world!"。

示例

$x = 'Hello world!';
var_dump($x);

4. PHP 整数 (Int) 数据类型

整数数据类型是没有小数部分的数字,范围在 -2,147,483,648 到 2,147,483,647 之间。

整数的规则包括:

  • 整数必须至少包含一个数字
  • 整数不能包含小数点
  • 整数可以是正数或负数
  • 整数可以通过三种格式指定:十进制(基数10)、十六进制(基数16)、八进制(基数8)或二进制(基数2)表示法

示例

$x = 5985;
var_dump($x);

5. PHP 浮点数 (Float) 数据类型

浮点数(Floating point number)是带有小数点的数字,或者是以指数形式表示的数字。

示例

$x = 10.365;
var_dump($x);

6. PHP 布尔值 (Bool) 数据类型

布尔数据类型表示两种可能的状态:TRUE(真)或 FALSE(假)。

示例

$x = true;
var_dump($x);

布尔值通常用于条件测试。您将在 PHP If...Else 章节中了解更多关于条件测试的内容。

7. PHP 数组 (Array) 数据类型

数组数据类型用于在一个单一变量中存储多个值。

在以下示例中,$cars 是一个数组:

示例

$cars = array("Volvo","BMW","Toyota");
var_dump($cars);

在本教程的后续部分,您将学到更多关于数组的知识。

8. PHP 对象 (Object) 数据类型

对象数据类型保存了程序员定义类(Class)的一个实例。

示例
检查 $myCar 的数据类型:

class Car {
  public $color;
  public $model;
  public function __construct($color, $model) {
    $this->color = $color;
    $this->model = $model;
  }
  public function message() {
    return "My car is a " . $this->color . " " . $this->model . "!";
  }
}

$myCar = new Car("red", "Volvo");
var_dump($myCar);

如果您现在不理解 PHP 对象的语法,请不必担心,您将在 PHP 类/对象 (Classes/Objects) 章节中学到更多相关知识。

9. PHP NULL 数据类型

Null 是一种特殊的数据类型,它只能拥有一个值:NULL

数据类型为 NULL 的变量是指没有被分配任何值的变量。

提示: 如果创建了一个变量但没有给它赋值,它会自动被分配一个 NULL 值。

变量也可以通过将其值设置为 NULL 来清空:

示例

$x = "Hello world!";
$x = null;
var_dump($x);

10. 更改数据类型

如果您将一个整数值赋给一个变量,它的数据类型将自动变为整数。
如果您随后将一个字符串赋给同一个变量,它的数据类型就会改变为字符串:

示例

$x = 5;
var_dump($x);

$x = "Hello";
var_dump($x);

如果您想更改现有变量的数据类型,但不改变它的值本身,您可以使用强制类型转换 (Casting)

强制类型转换允许您更改变量的数据类型:

示例

$x = 5;
$x = (string) $x;
var_dump($x);

您将在 PHP 强制类型转换 (Casting) 章节中了解更多关于转换的内容。

11. PHP 资源 (Resource) 数据类型

特殊的资源(Resource)数据类型并不是实际的常规数据类型。它保存的是对外部资源的一个引用,例如数据库连接或文件句柄。

由于这是一个高级主题,因此我们在此不会深入探讨资源数据类型。