PHP 类型

预计阅读时间1 分 123 views

PHP 是一种动态类型语言,在编写代码时,可以不提前指定变量的类型。PHP 会在程序运行时,根据赋给变量的值来确定其类型。

PHP 类型系统

PHP 支持多种类型,以下是主要的类型及其基本用法:

NULL

NULL 表示变量没有值或值为空。可以通过将变量设置为 NULL 来表示它没有值。

$var = NULL;

Boolean 布尔类型

布尔类型有两个值:TRUEFALSE。布尔类型通常用于条件判断。

$is_true = true;
$is_false = false;

Integer 整型

整型用于表示整数,不带小数点。可以用十进制、八进制、十六进制和二进制表示。

$int = 123; // 十进制
$oct = 0123; // 八进制
$hex = 0x1A; // 十六进制
$bin = 0b11111111; // 二进制

Float 浮点型

浮点型用于表示带小数点的数字。

$float = 1.23;

String 字符串

字符串用于表示文本,可以用单引号或双引号包围。

$str1 = 'Hello, World!';
$str2 = "Hello, World!";

数字字符串

数字字符串是包含数字的字符串,PHP 会在需要时自动将它们转换为相应的数值类型。

$num_str = "12345";

Array 数组

数组可以存储多个值。PHP 数组可以是索引数组或关联数组。

$index_array = [1, 2, 3];
$assoc_array = ["key1" => "value1", "key2" => "value2"];

Object 对象

对象是类的实例,可以包含属性和方法。

class MyClass {
    public $prop1 = "value1";

    public function myMethod() {
        echo "Hello, World!";
    }
}

$obj = new MyClass();
echo $obj->prop1; // 输出 "value1"
$obj->myMethod(); // 输出 "Hello, World!"

Enum 枚举

枚举用于表示一组可能的值。PHP 8.0 及以后版本支持枚举类型。

// PHP 8.0 及以上版本的枚举定义方式
enum Suit: string {
    case Hearts = 'Hearts';
    case Diamonds = 'Diamonds';
    case Clubs = 'Clubs';
    case Spades = 'Spades';
}

Resource 资源类型

资源类型用于引用外部资源,比如文件句柄、数据库连接等。

$file = fopen("test.txt", "r");

Callback / Callable 类型

Callable 类型表示可以调用的内容,比如函数或方法。

function myFunction() {
    echo "Hello, World!";
}

$callable = 'myFunction';
$callable(); // 调用 myFunction,输出 "Hello, World!"

Mixed

Mixed 类型表示可以是任意类型。

function mixedFunction($param): mixed {
    return $param;
}

Void

Void 类型表示函数没有返回值。

function voidFunction(): void {
    echo "This function returns nothing.";
}

Never

Never 类型表示函数不会返回值,因为它要么抛出异常,要么调用 die()exit() 等终止程序的函数。这是 PHP 8.1 及以上版本的特性。

function neverFunction(): never {
    throw new Exception("This function never returns.");
}

相对类类型

相对类类型(self, parent)用于表示类之间的继承关系。这是 PHP 7.4 及以上版本的特性。

Value 类型

VValue 类型表示值的类型,可以是标量或对象。这是 PHP 7.4 及以上版本的特性。

Iterable 可迭代对象

Iterable 类型表示可以被遍历的对象或数组。

function iterate(iterable $items) {
    foreach ($items as $item) {
        echo $item;
    }
}

$items = [1, 2, 3];
iterate($items); // 输出 "123"

类型声明

类型声明用于函数参数和返回值的类型约束。

function add(int $a, int $b): int {
    return $a + $b;
}

echo add(1, 2); // 输出 3

类型转换

类型转换用于将一种类型转换为另一种类型。

$var = '123';
$int_var = (int)$var; // 将字符串转换为整数
分享此文档

PHP 类型

或复制链接

本页目录