當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。