当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP Enum转String用法及代码示例


枚举或枚举是在编程中表示一组固定命名值的便捷方法。在 PHP 中,PHP 8.1 引入了对枚举的本机支持。如果您正在使用早期版本的 PHP,或者如果您想探索替代方法,您可能需要一种将枚举转换为字符串的方法。

1. 使用类常量

在 PHP 8.1 之前,开发人员经常使用类常量来模仿枚举。每个常量代表一个唯一的值,并且可以实现一种方法将枚举值转换为字符串。

PHP


<?php
class StatusEnum {
    const PENDING = 1;
    const APPROVED = 2;
    const REJECTED = 3;
    public static function toString($enumValue) {
        switch ($enumValue) {
            case self::PENDING:
                return 'Pending';
            case self::APPROVED:
                return 'Approved';
            case self::REJECTED:
                return 'Rejected';
            default:
                return 'Unknown';
        }
    }
}
// Driver code
$status = StatusEnum::PENDING;
$statusString = StatusEnum::toString($status);
echo "Status: $statusString";
?>
输出
Status: Pending

关联数组

另一种方法是使用关联数组将枚举值映射到其字符串表示形式。这里,关联数组 $stringMap 用于将枚举值映射到它们的字符串表示形式。

PHP


<?php
class StatusEnum {
    const PENDING = 1;
    const APPROVED = 2;
    const REJECTED = 3;
    private static $stringMap = [
        self::PENDING => 'Pending',
        self::APPROVED => 'Approved',
        self::REJECTED => 'Rejected',
    ];
    public static function toString($enumValue) {
        return self::$stringMap[$enumValue] ?? 'Unknown';
    }
}
// Driver code
$status = StatusEnum::PENDING;
$statusString = StatusEnum::toString($status);
echo "Status: $statusString";
?>
输出
Status: Pending


相关用法


注:本文由纯净天空筛选整理自vkash8574大神的英文原创作品 PHP Program to Convert Enum to String。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。