mirror of
https://github.com/php/php-src.git
synced 2024-09-22 18:37:25 +00:00
269c8dac1d
RFC: https://wiki.php.net/rfc/enumerations Co-authored-by: Nikita Popov <nikita.ppv@gmail.com> Closes GH-6489.
41 lines
644 B
PHP
41 lines
644 B
PHP
--TEST--
|
|
BackedEnum::tryFrom()
|
|
--FILE--
|
|
<?php
|
|
|
|
enum Suit: string {
|
|
case Hearts = 'H';
|
|
case Diamonds = 'D';
|
|
case Clubs = 'C';
|
|
case Spades = 'S';
|
|
}
|
|
|
|
var_dump(Suit::tryFrom('H'));
|
|
var_dump(Suit::tryFrom('D'));
|
|
var_dump(Suit::tryFrom('C'));
|
|
var_dump(Suit::tryFrom('S'));
|
|
var_dump(Suit::tryFrom('X'));
|
|
|
|
enum Foo: int {
|
|
case Bar = 1;
|
|
case Baz = 2;
|
|
case Beep = 3;
|
|
}
|
|
|
|
var_dump(Foo::tryFrom(1));
|
|
var_dump(Foo::tryFrom(2));
|
|
var_dump(Foo::tryFrom(3));
|
|
var_dump(Foo::tryFrom(4));
|
|
|
|
?>
|
|
--EXPECT--
|
|
enum(Suit::Hearts)
|
|
enum(Suit::Diamonds)
|
|
enum(Suit::Clubs)
|
|
enum(Suit::Spades)
|
|
NULL
|
|
enum(Foo::Bar)
|
|
enum(Foo::Baz)
|
|
enum(Foo::Beep)
|
|
NULL
|