(PHP 8 >= 8.1.0)
ReflectionEnum::getCases — 傳回 Enum 上所有 case 的列表
一個 Enum 可能包含零或多個 case。這個方法會依字典順序(也就是它們在原始碼中出現的順序)擷取所有定義的 case。
此函數沒有參數。
一個 Enum 反射物件的陣列,Enum 中的每個 case 各一個。對於 Unit Enum,它們都將是 ReflectionEnumUnitCase 的實例。對於 Backed Enum,它們都將是 ReflectionEnumBackedCase 的實例。
範例 #1 ReflectionEnum::getCases() 範例
<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
$rEnum = new ReflectionEnum(Suit::class);
$cases = $rEnum->getCases();
foreach ($cases as $rCase) {
var_dump($rCase->getValue());
}
?>
上面的範例會輸出
enum(Suit::Hearts) enum(Suit::Diamonds) enum(Suit::Clubs) enum(Suit::Spades)