3v4l.org

run code in 300+ PHP versions simultaneously
<?php enum MyEnum: string { case FOO = 'FOO'; } enum MyEnumWithJson: string implements \JsonSerializable { case FOO = 'FOO'; public function jsonSerialize(): mixed { return $this->value . '[jsonSerialize]'; } } $myEnum = MyEnum::FOO; echo json_encode($myEnum); var_dump([ 'isObject' => is_object($myEnum), 'isJsonSerializable' => $myEnum instanceof JsonSerializable, ]); echo "\n"; $myEnumWithJson = MyEnumWithJson::FOO; echo json_encode($myEnumWithJson); var_dump([ 'isObject' => is_object($myEnumWithJson), 'isJsonSerializable' => $myEnumWithJson instanceof JsonSerializable, ]);

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.30.0260.00917.33
8.5.20.0320.00816.82
8.5.10.0290.01216.73
8.5.00.0350.00816.73
8.4.180.0330.01019.62
8.4.170.0320.01219.59
8.4.160.0330.00919.68
8.4.150.0360.00919.60
8.4.140.0400.00717.63
8.4.130.0380.01017.78
8.4.120.0370.01017.76
8.4.110.0340.01117.88
8.4.100.0360.01017.84
8.4.90.0390.00517.87
8.4.80.0370.01017.90
8.4.70.0390.00917.62
8.4.60.0420.00617.86
8.4.50.0410.01417.87
8.4.40.0430.00717.40
8.4.30.0410.00717.55
8.4.20.0350.01417.52
8.4.10.0320.01517.36
8.3.300.0360.00818.58
8.3.290.0360.00818.51
8.3.280.0150.00918.64
8.3.270.0370.00716.73
8.3.260.0370.00716.73
8.3.250.0380.00716.73
8.3.240.0320.01116.73
8.3.230.0360.01116.73
8.3.220.0340.00916.78
8.3.210.0390.00916.73
8.3.200.0400.01116.73
8.3.190.0350.00916.73
8.3.180.0360.01016.73
8.3.170.0400.00616.73
8.3.160.0390.00916.93
8.3.150.0390.01216.73
8.3.140.0380.00916.73
8.3.130.0370.00816.73
8.3.120.0310.01116.73
8.3.110.0330.00816.73
8.3.100.0440.00616.73
8.3.90.0420.00516.73
8.3.80.0380.01316.73
8.3.70.0420.00616.73
8.3.60.0400.00816.79
8.3.50.0410.00516.73
8.3.40.0330.01217.67
8.3.30.0310.01317.90
8.3.20.0290.00817.87
8.3.10.0290.00718.04
8.3.00.0300.00718.04

preferences:
43.96 ms | 717 KiB | 5 Q