Les énumérations constituent une couche restrictive au-dessus des classes et des constantes de classe, Elles permettent de définir un ensemble fermé de valeurs possibles pour un type.
<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
function do_stuff(Suit $s)
{
// ...
}
do_stuff(Suit::Spades);
?>
Pour une description complète, voir le chapitre sur les énumérations.
Si une enum est convertie en object, elle n'est pas
modifiée. Si une enum est convertie en array,
un tableau avec une seule clé name
(pour les Pure enums) ou
un tableau avec les clés name
et value
(pour les Backed enums) est créé. Tous les autres types de conversion entraîneront une erreur.