(PHP 8 >= 8.1.0)
Aufzählungen dienen als einschränkende Schicht über Klassen und Klassenkonstanten und bieten eine Möglichkeit, eine geschlossene Menge von möglichen Werten für einen Typ zu definieren.
<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
function do_stuff(Suit $s)
{
// ...
}
do_stuff(Suit::Spades);
?>
Eine ausführliche Beschreibung ist im Kapitel Aufzählungen zu finden.
Wenn ein Wert vom Typ enum in ein Objekt
umgewandelt wird, wird er nicht verändert. Wenn ein Enum in
ein Array umgewandelt wird, wird ein Array mit einem einzelnen
Schlüssel name
erstellt (bei Pure Enums) oder ein Array
mit den beiden Schlüsseln name
und
value
(bei Backed Enums). Alle anderen Cast-Typen führen
zu einem Fehler.