Enumerations

Оновлено: 09.05.2023

Перерахування є обмежувальним шаром над класами та константами класів, призначеним для забезпечення способу визначення закритої множини можливих значень для типу.

<?php
enum Suit
{
    case Hearts;
    case Diamonds;
    case Clubs;
    case Spades;
}

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

do_stuff(Suit::Spades);
?>

Для повного обговорення див. розділ "Переліки".

Якщо зчислення перетворюється на об'єкт, воно не модифікується. Якщо зчислення перетворюється на масив, створюється масив з одним ключем name (для чистих зчислень) або масив з ключами name та value (для підкріплених зчислень). Всі інші приведення типів призведуть до помилки.