(PHP 8 >= 8.1.0)
BackedEnum::tryFrom โ ในใซใฉใผๅใฎๅคใๅๆๅใซใใใใใใใnull ใ่ฟใ
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)