列挙型は、クラスやクラス定数に対して、さらに制限を加えたものです。 ある型に対して、取り得る値の限られた集合を定義する方法を提供します。
<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
function do_stuff(Suit $s)
{
// ...
}
do_stuff(Suit::Spades);
?>
完全な説明は、 列挙型(Enum) を参照下さい。
列挙型を object にキャストしても、値は変更されません。
列挙型を array にキャストすると、
name
というキーだけ(Pure Enum の場合)
をもつ配列か、
name
と value
というキー(Backed Enum の場合) を持つ配列が生成されます。
それ以外のキャストを行っても、エラーが発生します。