枚举或枚举是在编程中表示一组固定命名值的便捷方法。在 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。