(PHP 8 >= 8.1.0)
BackedEnum::from — スカラー型の値を列挙型にマップする
from() メソッドは 文字列型や整数型の値を、存在する場合に 列挙型の case に変換します。 マッチする case が定義されていない場合は、 ValueError がスローされます。
value
列挙型の case にマップするスカラー値。
この列挙型の case のインスタンスを返します。
例1 基本的な使用法
以下の例は、列挙型の case がどのように返されるかを示しています。
<?php
enum Suit: string
{
case Hearts = 'H';
case Diamonds = 'D';
case Clubs = 'C';
case Spades = 'S';
}
$h = Suit::from('H');
var_dump($h);
$b = Suit::from('B');
?>
上の例の出力は以下となります。
enum(Suit::Hearts) Fatal error: Uncaught ValueError: "B" is not a valid backing value for enum "Suit" in /file.php:15