3v4l.org

run code in 300+ PHP versions simultaneously
<?php enum Foo: int { case Foo = 0; } enum Bar: string { case Bar = 'baz'; } enum Baz { case Baz; } function get_backing_type(string $enum_class): ?string { return (new ReflectionEnum($enum_class))->getBackingType()?->getName(); } function is_int_enum(string $enum_class): bool { return get_backing_type($enum_class) === 'int'; } function is_string_enum(string $enum_class): bool { return get_backing_type($enum_class) === 'string'; } var_dump(get_backing_type(Foo::class)); var_dump(get_backing_type(Bar::class)); var_dump(get_backing_type(Baz::class)); var_dump(is_int_enum(Foo::class)); var_dump(is_string_enum(Bar::class));
Output for git.master_jit, git.master
string(3) "int" string(6) "string" NULL bool(true) bool(true)

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
93.35 ms | 405 KiB | 5 Q