3v4l.org

run code in 300+ PHP versions simultaneously
<?php enum Language: int { case English = 1; case Spanish = 2; public static function fromName(string $name): Language { return (new \ReflectionEnum(static::class))->getCase($name)->getValue(); } } $english = Language::from(1); $spanish = Language::from(2); $english = Language::fromName('English'); $spanish = Language::fromName('Spanish'); var_dump([ 'name' => $english->name, 'value' => $english->value, ]); // this will result in an error: Language::fromName('Arabic');

preferences:
27.99 ms | 404 KiB | 5 Q