Перечисления

(PHP 8 >= 8.1.0)

Основы перечислений

Перечисления — это ограничивающий слой над классами и константами классов, предназначенный для предоставления способа определения закрытого набора возможных значений для типа.

<?php

enum Suit
{
case
Hearts;
case
Diamonds;
case
Clubs;
case
Spades;
}

function
do_stuff(Suit $s)
{
// ...
}

do_stuff(Suit::Spades);

?>

Полное описание даёт глава «Перечисления».

Приведение типов

При преобразовании типа enum в тип object перечисление не изменяется. При преобразовании типа enum в тип array создаётся массив с одним ключом name для чистых перечислений или массив с двумя ключами name и value для типизированных перечислений. Остальные приведения типов вызовут ошибку.