PHP 枚举类型
深入理解 PHP 8.1 的枚举特性,定义一组命名常量,提升代码可读性和安全性。 · 难度:入门 · +15XP
PHP 枚举简介
枚举(Enums)是 PHP 8.1 引入的新特性,允许定义一组有限的可能值,常用于状态、选项等场景。
基本枚举
enum Status {
case Pending;
case Processing;
case Completed;
case Failed;
}
$status = Status::Processing;
echo $status->name; // Processing
带值的枚举
enum Status: int {
case Pending = 1;
case Processing = 2;
case Completed = 3;
case Failed = 4;
}
echo Status::Processing->value; // 2
枚举方法
enum Status: int {
case Pending = 1;
case Processing = 2;
public function label(): string {
return match($this) {
self::Pending => '待处理',
self::Processing => '处理中',
};
}
}
echo Status::Processing->label();
| 特性 | 说明 |
|---|---|
| 纯枚举 | 无关联值 |
| 回退枚举 | 关联整数或字符串 |
| 方法 | 可定义方法和常量 |
练习提示
创建一个 OrderStatus 枚举,包含 Pending、Shipped、Delivered 状态,并添加一个方法返回中文描述。