列挙型は、クラスやクラス定数に対して、さらに制限を加えたものです。 ある型に対して、取り得る値の限られた集合を定義する方法を提供します。
<?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 の場合) を持つ配列が生成されます。 それ以外のキャストを行っても、エラーが発生します。
name
value