PHP 数据类型

PHP 数据类型

变量可以存储不同类型的数据,而不同类型的数据可以做不同的事情。

PHP 支持以下数据类型:

  • 字符串(String)
  • 整数(Integer)
  • 浮点数(Float,也称为双精度数)
  • 布尔值(Boolean)
  • 数组(Array)
  • 对象(Object)
  • NULL
  • 资源(Resource)

获取数据类型

您可以使用 var_dump() 函数来获取任何对象的数据类型。

实例

var_dump() 函数返回数据类型和值:

$x = 5;
var_dump($x);

亲自试一试

PHP 字符串

字符串是由字符组成的序列,例如 "Hello world!"。

字符串可以是引号内的任何文本。您可以使用单引号或双引号:

实例

$x = "Hello world!";
$y = 'Hello world!';

var_dump($x);
echo "<br>";
var_dump($y);

亲自试一试

PHP 整数

整数数据类型是非小数的数,范围在 -2,147,483,648 到 2,147,483,647 之间。

整数的规则:

  • 整数必须至少有一位数字
  • 整数不能有小数点
  • 整数可以是正数或负数
  • 整数可以用十进制(基数 10)、十六进制(基数 16)、八进制(基数 8)或二进制(基数 2)表示

在以下示例中,$x 是一个整数。PHP var_dump() 函数返回数据类型和值:

实例

$x = 5985;
var_dump($x);

亲自试一试

PHP 浮点数

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

在下例中,$x 是一个浮点数。PHP var_dump() 函数返回数据类型和值:

实例

$x = 10.365;
var_dump($x);

亲自试一试

PHP 布尔值

布尔值表示两种可能的状态:TRUE 或 FALSE。

实例

$x = true;
var_dump($x);

亲自试一试

布尔值通常用于条件测试。

另请参阅:PHP If...Else

PHP 数组

数组在单个变量中存储多个值。

在下例中,$cars 是一个数组。PHP var_dump() 函数返回数据类型和值:

实例

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

亲自试一试

另请参阅:PHP 数组

PHP 对象

类和对象是面向对象编程的两个主要方面。

类是对象的模板,而对象是类的实例。

当创建各个对象时,它们从类中继承所有的属性和行为,但每个对象将为属性设置不同的值。

假设我们有一个名为 Car 的类,该类可拥有模型、颜色等属性。我们可以定义变量,如 $model$color 等,以保存这些属性的值。

当创建各个对象(Volvo、BMW、Audi 等)时,它们从类中继承所有的属性和行为,但每个对象将为属性设置不同的值。

如果您创建一个 __construct() 函数,当您从类创建对象时,PHP 将自动调用此函数。

实例

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 NULL 值

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

数据类型为 NULL 的变量是没有为其分配值的变量。

提示:如果变量已创建但未赋值,它将自动被赋值为 NULL。

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

实例

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

亲自试一试

更改数据类型

如果您将整数值分配给变量,则类型将自动成为整数。

如果您将字符串分配给同一变量,则类型将更改为字符串:

实例

$x = 5;
var_dump($x);

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

亲自试一试

如果您想更改现有变量的数据类型,但不是通过更改值来实现,则可以使用类型转换。

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

实例

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

亲自试一试

另请参阅:PHP 类型转换

PHP 资源

这种特殊的资源类型不是实际的数据类型。它是存储对 PHP 外部的函数和资源的引用的地方。

使用资源类型的一个常见示例是数据库调用。

由于这属于高级主题,因此我们在这里暂不讨论资源类型。