BackedEnum::from

(PHP 8 >= 8.1.0)

BackedEnum::from โ€” ใ‚นใ‚ซใƒฉใƒผๅž‹ใฎๅ€คใ‚’ๅˆ—ๆŒ™ๅž‹ใซใƒžใƒƒใƒ—ใ™ใ‚‹

่ชฌๆ˜Ž

public static function BackedEnum::from(int|string $value): static

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

ๅ‚่€ƒ

  • UnitEnum::cases() - ๅˆ—ๆŒ™ๅž‹ใฎ case ไธ€่ฆงใ‚’็”Ÿๆˆใ™ใ‚‹
  • BackedEnum::tryFrom() - ใ‚นใ‚ซใƒฉใƒผๅž‹ใฎๅ€คใ‚’ๅˆ—ๆŒ™ๅž‹ใซใƒžใƒƒใƒ—ใ™ใ‚‹ใ‹ใ€null ใ‚’่ฟ”ใ™
๏ผ‹add a note

User Contributed Notes

There are no user contributed notes for this page.