(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)
