ReflectionEnum::getCases

(PHP 8 >= 8.1.0)

ReflectionEnum::getCases列挙型の全ての case を返す

説明

public ReflectionEnum::getCases(): array

列挙型には、ひとつ以上の case を含めることができます。 このメソッドは、定義済みの全ての case を字句解析順 (つまり、ソースコードに現れる順) に取得します。

パラメータ

この関数にはパラメータはありません。

戻り値

列挙型のリフレクションオブジェクトの配列を返します。 ひとつひとつが、列挙型の case を表します。 Pure 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)

参考

関連キーワード:  case, ReflectionEnum, Suit, Enum, getCases, インスタンス, パラメータ, Backed, getCase, 参考