(PHP 8 >= 8.1.0)
ReflectionEnum::getCases — Возвращает список всех вариантов перечисления
Перечисление может содержать ноль или более вариантов. Этот метод извлекает все определённые случаи в лексическом порядке (то есть в порядке, в котором они появляются в исходном коде).
У этой функции нет параметров.
Массив Reflection-объектов перечисления, по одному для каждого варианта перечисления. Для простых перечислений все они будут экземплярами ReflectionEnumUnitCase. Для типизированных перечислений все они будут экземплярами 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)