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