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));

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.5.00.0100.01219.98
8.4.150.0020.00014.05
8.4.140.0170.00517.46
8.4.130.0120.00817.75
8.4.120.0050.00322.31
8.4.110.0150.00522.44
8.4.100.0140.00617.70
8.4.90.0120.00917.84
8.4.80.0080.01317.70
8.4.70.0120.01117.70
8.4.60.0140.00617.73
8.4.50.0180.00222.55
8.4.40.0100.01018.79
8.4.30.0080.01120.56
8.4.20.0080.01121.25
8.4.10.0100.00619.58
8.3.280.0120.00918.20
8.3.270.0100.01116.51
8.3.260.0070.00816.63
8.3.250.0160.00719.10
8.3.240.0110.00816.39
8.3.230.0090.01016.61
8.3.220.0030.00517.10
8.3.210.0030.00516.81
8.3.200.0110.00816.57
8.3.190.0040.00416.97
8.3.180.0120.00618.83
8.3.170.0040.00517.26
8.3.160.0060.00320.77
8.3.150.0140.00417.09
8.3.140.0120.00316.69
8.3.130.0100.00016.70
8.3.120.0070.00316.58
8.3.50.0140.00316.66
8.2.290.0130.00520.23
8.2.280.0140.00616.61
8.2.270.0160.00316.59
8.2.260.0050.00317.28
8.2.250.0180.00318.26
8.2.240.0030.00616.71
8.1.330.0110.00517.00
8.1.320.0060.01216.06
8.1.310.0100.00716.76
8.1.300.0030.00616.18

preferences:
69.98 ms | 403 KiB | 5 Q