Aufzählungen (Enum)

(PHP 8 >= 8.1.0)

Grundlagen der Aufzählungen

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.

Casting (Umwandlung)

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.