(PHP 8 >= 8.1.0)
ReflectionEnum::getCases — Returns a list of all cases on an Enum
An Enum may contain zero or more cases. This method retrieves all defined cases, in lexical order (that is, the order they appear in the source code).
This function has no parameters.
An array of Enum reflection objects, one for each case in the Enum. For a Unit Enum, they will all be instances of ReflectionEnumUnitCase. For a Backed Enum, they will all be instances of ReflectionEnumBackedCase.
Example #1 ReflectionEnum::getCases() example
<?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());
}
?>
The above example will output:
enum(Suit::Hearts) enum(Suit::Diamonds) enum(Suit::Clubs) enum(Suit::Spades)