- 枚举转成字符串
<?php
enum Status: string {
case Open = 'open';
case Closed = 'closed';
case Pending = 'pending';
}
// 使用枚举
$status = Status::Open;
// 转换成字符串
$statusString = $status->value;
echo $statusString; // 输出: open
- 字符串转成枚举
// 定义一个字符串枚举类型
enum Status: string {
case PENDING = 'pending';
case PROCESSING = 'processing';
case COMPLETED = 'completed';
}
// 一个函数,将字符串转换为 Status 枚举
function toStatus(string $status): Status {
return Status::{$status};
}
// 使用
$statusString = 'PROCESSING';
$statusEnum = toStatus($statusString);
var_dump($statusEnum); // 输出: Status::PROCESSING