ReflectionEnum::getCases

列挙型の全ての case を返す

説明

public array ReflectionEnum::getCases()

列挙型には、ひとつ以上の 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)

参考