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)数据类型并不是实际的常规数据类型。它保存的是对外部资源的一个引用,例如数据库连接或文件句柄。
由于这是一个高级主题,因此我们在此不会深入探讨资源数据类型。