array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'backedenum.tryfrom.php', 1 => 'BackedEnum::tryFrom', ), 'up' => array ( 0 => 'class.backedenum.php', 1 => 'BackedEnum', ), 'prev' => array ( 0 => 'backedenum.from.php', 1 => 'BackedEnum::from', ), 'next' => array ( 0 => 'class.sensitiveparametervalue.php', 1 => 'SensitiveParameterValue', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'language/predefined/backedenum/tryfrom.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 8 >= 8.1.0)
BackedEnum::tryFrom — Сопоставляет скаляр с экземпляром перечисления или null
Метод tryFrom() переводит строку (string) или число (int) в соответствующее значение перечисления, если такое имеется. Если соответствующее значение не определено, возвращается null.
value
Скалярное значение для сопоставления с перечислением.
Экземпляр перечисления или null, если экземпляр не найден.
Пример #1 Простой пример использования
В следующем примере показано, как возвращаются варианты перечисления.
<?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)