(PHP 8 >= 8.1.0)
BackedEnum::tryFrom — Mapeia um escalar para uma instância de enumeração ou nulo
O método tryFrom() traduz uma string ou um int para o caso correspondente do Enum, se houver. Se não houver caso correspondente definido, ele irá retornar nulo.
value
O valor escalar a ser mapeado para um caso de enumeração.
Uma instância de caso para esta enumeração, ou null se não encontrado.
Exemplo #1 Uso básico
O exemplo a seguir ilustra como os casos de enumeração são retornados.
<?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);
?>
O exemplo acima produzirá:
enum(Suit::Hearts) enum(Suit::Spades)