BackedEnum::from

(PHP 8 >= 8.1.0)

BackedEnum::fromスカラー型の値を列挙型にマップする

説明

public static BackedEnum::from(int|string $value): static

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

参考

関連キーワード:  スカラー, マップ, BackedEnum, case, , from, ValueError, Suit, tryFrom, static