PHP8.1新增基本Enum情况类似类枚举可以定义0个或多个枚举比较无意义,总是返回false。case是可比的name;}}functionpaintColor(Colors$colors):void{echo"Paint:".$颜色->getColor()。PHP_EOL;}paintColor(Colors::Red);paintColor(Colors::Green);paintColor(Colors::Blue);/*输出:---------------------Paint:RedPaint:GreenPaint:Blue*/fallback枚举case默认由class实现,case可以赋标量值。这时候case的类型就会从复杂类型转换为简单类型。这称为支持支持的枚举。只有一个值属性。支持的枚举实现了BackedEnum接口,并另外公开了from()和tryFrom()方法。枚举值必须是确定的,不能是可变的value;printSuit::from('H');printSuit::tryFrom('XX')??适合::红心;EnumerationMethodEnumeration可以定义自己的方法,静态方法,实现接口,但是不支持继承,因为不支持Inheritance,所以访问修饰符没用,都是public'Red',Suit::Clubs,Suit::Spades=>'Black',};}//不是接口的一部分;没问题publicfunctionshape():string{return"Rectangle";}//静态方法publicstaticfunctionfromLength(int$cm):static{returnmatch(true){$cm<50=>static::Hearts,$cm<100=>static::Diamonds,default=>static::俱乐部,};}}函数paint(Colorful$c){...}paint(Suit::Clubs);//正常打印Suit::Diamonds->shape();//输出“Rectangle”枚举常量
