BackedEnum::tryFrom

スカラー型の値を列挙型にマップするか、null を返す

説明

public static staticnull BackedEnum::tryFrom(intstring $value)

tryfrom メソッドは 文字列型や整数型の値を、存在する場合に 列挙型の case に変換します。 マッチする case が定義されていない場合は、null を返します。

パラメータ

value

列挙型の case にマップするスカラー値。

戻り値

この列挙型の case のインスタンスを返します。 対応する case が見つからない場合は、null を返します。

例1 基本的な使用法

以下の例は、列挙型の case がどのように返されるかを示しています。

<?php
enum Suit: string
{
    case Hearts = 'H';
    case Diamonds = 'D';
    case Clubs = 'C';
    case Spades = 'S';
}

$h = Suit::tryFrom('H');

var_dump($h);

$b = Suit::tryFrom('B') ?? Suit::Spades;

var_dump($b);
?>

上の例の出力は以下となります。

enum(Suit::Hearts)
enum(Suit::Spades)

参考

  • UnitEnum::cases
  • BackedEnum::from