您现在的位置是:首页 > PHP框架交流PHP框架交流
PHP8.1新特性枚举 枚举的简单用法
上善若水2024-03-05 15:33:42【PHP框架交流】 133人已围观
简介PHP8.1新特性枚举枚举的简单用法1.枚举类型的定义 enumStatus:int { caseDraft=1; casePublished=2; case
PHP8.1新特性枚举 枚举的简单用法
官方教程https://www.php.net/manual/zh/language.enumerations.overview.php
1.枚举类型的定义
enum Status: int
{
case Draft = 1;
case Published = 2;
case Archived = 3;
}
2.枚举类型的简单使用
print_r(Status::Draft);
/** 输出如下内容
Status Enum:int
(
[name] => Draft
[value] => 1
)*/
echo sprintf('[draft name]: %s, [draft value]: %d',Status::Draft->name,Status::Draft->value);
//[draft name]: Draft, [draft value]: 1
//枚举类型的遍历
foreach( Status::cases() as $directive ) {
echo sprintf('[name]: %s, [value]: %d %s', $directive->name, $directive->value, PHP_EOL);
}
//输出结果
[name]: Draft, [value]: 1
[name]: Published, [value]: 2
[name]: Archived, [value]: 3
3.枚举类型最佳实践
enum UserStatus: string
{
case Pending = 'P';
case Active = 'A';
case Suspended = 'S';
case CanceledByUser = 'C';
public function label(): string
{
return match($this) {
static::Pending => 'Pending',
static::Active => 'Active',
static::Suspended => 'Suspended',
static::CanceledByUser => 'Canceled by user',
};
}
}
foreach (UserStatus::cases() as $case) {
printf('<option value="%s">%s</option>\n', $case->value, $case->label());
}
最后,输出结果
<option value="P">Pending</option>
<option value="A">Active</option>
<option value="S">Suspended</option>
<option value="C">Canceled by user</option>
Tags: PHP8.1
很赞哦! (0)
相关文章
随机图文
-
62个哄女孩开心的笑话,只为博你一笑!泡妞必备!
1.一天,牛给驴出了一个难题,问“蠢”字下面两只虫子哪只是公的,哪只是母的。驴绞尽脑汁,还是答不上来。牛骂道:真是头蠢驴,男左女右嘛!2.毕业后七年,总算接了个大工程,造一根三十米烟囱,工期两个月,造价三十万,不过要垫资。总算在去年年底搞完了。今天人家去验收,被人骂得要死,还没有钱拿。妈的!图纸看反了,人家是要挖一口井!3.一醉汉不慎从三楼掉下,引来路人围观,一警察过来:发生什么事?醉汉 -
很幽默很有才的男女喷饭笑话,吃饭千万别看
1、一天,三岁的儿子对妈妈说:“妈妈,什么叫美女?”妈妈说:“像妈妈这样漂亮的女人就叫美女”。旁边的爸爸小声说:“别误导孩子的审美观!!!”2.别人都说我是一枚女汉子,有一天,在路边发现一株蒲公英,突然很想学清纯的女子摘下蒲公英,缓缓的吹一口气,多么小清新的画面呀。可是,事实是这样的,我摘下蒲公英,朱唇轻起,忽然来了一阵妖风,靠,吹了老娘一嘴毛!3.“从前,有三个智者激烈的争辩 -
Thinkphp6定时执行 tp6如何使用定时执行脚本
Thinkphp6如何定时执行代码,tp6如何使用定时执行脚本,composer支持tinkphp6定时组件框架有哪些,在项目中经常会使用到定时脚本执行,但是相比较于laravel框架而言,think -
爆笑逗B,逗笑的本领一流
1、凡是用钱可以解决的问题,我现在都解决不了。 2、有时候觉得自己挺重要,地球仪离开了我,就不转。 3、做事情一定要三思而后行:可不可以不做?可不可以明天做?可不可以让别人做? 4、重名的现象还是比较普遍的,今天我遇到一个人名叫铁牛,感觉这个名字真的很重。 我看起来是不是很忧郁的样子,其实我是个逗B! 5、女友怀孕后,很多事情都发生了变化。比如。。。。。。。我的住址和手机号码。 6、我