php8新增函数

复制代码
<?php
//纯枚举pure enum,没有绑定具体值,每个case就是唯一实例
enum Suit{
    case H;
    case D;
    case C;
    case S;
}
// echo Suit::H;
//$suit = Suit::cases();
//$val = Suit::D;
//print_r($val);
// echo $val instanceof Suit;
function getStatusColor(Suit $suit): string {
    return match($suit) {
        Suit::H => 'orange',
        Suit::D => 'blue',
        Suit::C => 'green',
        Suit::S => 'red'
    };
}
$a= getStatusColor(Suit::C);
print_r($a);

enum Color {
    case PENDING;
    case PROCESSING;
    case SHIPPED;

    function getColor(): string {
        return match($this) {
            self::PENDING => '橙色',
            self::PROCESSING => '蓝色',
            self::SHIPPED => '绿色'
        };
    }
}

echo Color::PENDING->getColor(); // 输出:橙色
function aa (int $a) {}


echo "<br/>";

//回溯枚举backend enum带有标量值的枚举,可以关联字符串或整数
enum Status: string {
    case PENDING = 'pending';
    case ACTIVE = 'active';
}
$sq = Status::ACTIVE;
print_r($sq);
echo $sq->name."=".$sq->value;
相关推荐
jwn9997 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
星辰徐哥9 小时前
5G的行业应用:工业互联网、车联网、智慧医疗中的网络支撑
网络·5g·php
三道渊10 小时前
进程通信与网络协议
开发语言·数据库·php
流觞 无依10 小时前
DedeCMS plus/download.php SQL注入漏洞修复教程
sql·php
Freak嵌入式10 小时前
MicroPython LVGL基础知识和概念:显示与多屏管理
开发语言·python·github·php·gui·lvgl·micropython
Freak嵌入式11 小时前
MicroPython LVGL基础知识和概念:时序与动态效果
开发语言·python·github·php·gui·lvgl·micropython
fengci.13 小时前
php反序列化(复习)(第三章)
android·开发语言·学习·php
说实话起个名字真难啊13 小时前
Docker 入门之网络基础
网络·docker·php
竹之却13 小时前
【Agent-阿程】openclaw v2026.4.9更新内容介绍
开发语言·php·openclaw·openclaw 更新
熊猫笔记13 小时前
PHP将Word文件转换为PDF文件的三种方式,以及中文乱码解决
php