3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); enum Foo: int { case Bar = 1; } var_dump(is_subclass_of(Foo::class, \IntBackedEnum::class)); var_dump(is_subclass_of(Foo::class, \StringBackedEnum::class)); var_dump((new ReflectionEnum(Foo::class))->getBackingType()->getName()); enum Bar: string { case Foo = 'foo'; } var_dump(is_subclass_of(Bar::class, \IntBackedEnum::class)); var_dump(is_subclass_of(Bar::class, \StringBackedEnum::class)); var_dump((new ReflectionEnum(Bar::class))->getBackingType()->getName()); enum Foobar { case Foobar; } var_dump(is_subclass_of(Foobar::class, \IntBackedEnum::class)); var_dump(is_subclass_of(Foobar::class, \StringBackedEnum::class)); var_dump((new ReflectionEnum(Foobar::class))->getBackingType()->getName());
Output for git.master_jit, git.master
bool(false) bool(false) string(3) "int" bool(false) bool(false) string(6) "string" bool(false) bool(false) Fatal error: Uncaught Error: Call to a member function getName() on null in /in/fButY:32 Stack trace: #0 {main} thrown in /in/fButY on line 32
Process exited with code 255.

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:
34.71 ms | 405 KiB | 5 Q