You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP环境下如何获取枚举(Enum)类型的所有可选值?

PHP 8.1 获取枚举所有值的方法

PHP 8.1 内置的枚举类型默认提供了静态方法cases(),直接调用即可获取该枚举的所有值。

  • 纯枚举使用示例
    定义纯枚举:
enum OrderStatus
{
    case Created;
    case Paid;
    case Delivered;
    case Canceled;
}

调用方法获取所有枚举值:
$allCases = OrderStatus::cases();
返回结果为包含所有枚举实例的数组,顺序和定义顺序完全一致:

[
    OrderStatus::Created,
    OrderStatus::Paid,
    OrderStatus::Delivered,
    OrderStatus::Canceled,
]
  • 回退枚举(绑定标量值)使用示例
    定义绑定了int类型值的回退枚举:
enum OrderStatus: int
{
    case Created = 1;
    case Paid = 2;
    case Delivered = 3;
    case Canceled = 4;
}

如果需要获取所有枚举对应的标量值,可以搭配array_map处理返回结果:

$allValues = array_map(fn($case) => $case->value, OrderStatus::cases());
// 最终得到 $allValues = [1,2,3,4]

小提示:如果需要同时获取枚举的名称和对应值,可以将上述遍历逻辑调整为返回关联数组即可。

内容的提问来源于stack exchange,提问作者Dees Oomens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:18:02