## Les énumérations

(PHP 8 >= 8.1.0)

### Les énumérations de base

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.

### Casting

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.