枚舉或枚舉是在編程中表示一組固定命名值的便捷方法。在 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
相關用法
- PHP Explain array_map()用法及代碼示例
- PHP Explain str_split()用法及代碼示例
- PHP Hebrev()用法及代碼示例
- PHP Max()用法及代碼示例
- PHP String htmlspecialchars()用法及代碼示例
- PHP String htmlspecialchars_decode()用法及代碼示例
- PHP String localeconv()用法及代碼示例
- PHP String nl2br()用法及代碼示例
- PHP String nl_langinfo()用法及代碼示例
- PHP String quoted_printable_decode()用法及代碼示例
- PHP String quoted_printable_encode()用法及代碼示例
- PHP String sprintf()用法及代碼示例
- PHP String sscanf()用法及代碼示例
- PHP String str_replace()用法及代碼示例
- PHP String strrpos()用法及代碼示例
- PHP String strspn()用法及代碼示例
- PHP String strstr()用法及代碼示例
- PHP String strtok()用法及代碼示例
- PHP String strtolower()用法及代碼示例
- PHP String strtoupper()用法及代碼示例
- PHP String strtr()用法及代碼示例
- PHP String substr()用法及代碼示例
- PHP String substr_compare()用法及代碼示例
- PHP String substr_count()用法及代碼示例
- PHP String substr_replace()用法及代碼示例
注:本文由純淨天空篩選整理自vkash8574大神的英文原創作品 PHP Program to Convert Enum to String。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。