Список значений

И чистые перечисления, и типизированные перечисления реализуют внутренний интерфейс с именем UnitEnum. UnitEnum включает статический метод cases(). cases() возвращает упакованный массив всех определённых вариантов в порядке объявления.

<?php
Suit
::cases();
// Produces: [Suit::Hearts, Suit::Diamonds, Suit::Clubs, Suit::Spades]
?>

Ручное определение метода cases() в перечислении приведёт к фатальной ошибке.