3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $a = json_encode('wrong json'); /*if ('50500' <= PHP_VERSION_ID) { var_dump(json_last_error_msg()); }*/ switch (json_last_error()) { case JSON_ERROR_DEPTH: $error = 'Maximum stack depth exceeded'; break; case JSON_ERROR_STATE_MISMATCH: $error = 'Underflow or the modes mismatch'; break; case JSON_ERROR_CTRL_CHAR: $error = 'Unexpected control character found'; break; case JSON_ERROR_SYNTAX: $error = 'Syntax error, malformed JSON'; break; case JSON_ERROR_UTF8: $error = 'Malformed UTF-8 characters, possibly incorrectly encoded'; break; default: $error = 'Unknown error'; break; } var_dump($error);
based on vDss3

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).
Note: hhvm uses a JIT which only kicks in after a few runs. Since we run scripts only once, hhvm always runs slower.

VersionSystem time (s)User time (s)Memory (MiB)
7.2.00.0000.01419.48
7.1.100.0090.00917.89
7.1.70.0060.00816.79
7.1.60.0060.01819.22
7.1.50.0110.01116.83
7.1.00.0100.06722.45
7.0.200.0000.01016.71
7.0.140.0130.06322.15
7.0.90.0400.08019.88
7.0.80.0030.05020.00
7.0.70.0470.06720.02
7.0.60.0330.06319.96
7.0.50.0670.03020.34
7.0.40.0030.07019.95
7.0.30.0130.07320.11
7.0.20.0070.07020.03
7.0.10.0100.04320.14
7.0.00.0070.08020.08
5.6.280.0000.07721.10
5.6.240.0130.08020.63
5.6.230.0100.04320.63
5.6.220.0100.09020.52
5.6.210.0170.07720.66
5.6.200.0070.07721.03
5.6.190.0030.09021.08
5.6.180.0170.06721.08
5.6.170.0170.07320.99
5.6.160.0100.08021.17
5.6.150.0030.08321.00
5.6.140.0000.08321.05
5.6.130.0100.04321.10
5.6.120.0100.08321.08
5.6.110.0100.09721.06
5.6.100.0070.05721.03
5.6.90.0100.07720.99
5.6.80.0030.05720.55
5.6.70.0030.05020.30
5.6.60.0100.06320.44
5.6.50.0070.04720.52
5.6.40.0070.06320.41
5.6.30.0100.07020.49
5.6.20.0030.08720.43
5.6.10.0030.05320.31
5.6.00.0130.07320.45
5.5.380.0170.07320.42
5.5.370.0130.07320.41
5.5.360.0130.04720.41
5.5.350.0100.06720.42
5.5.340.0000.08320.80
5.5.330.0130.06720.86
5.5.320.0200.05020.92
5.5.310.0170.05320.87
5.5.300.0070.07320.87
5.5.290.0100.07020.92
5.5.280.0200.07320.86
5.5.270.0070.09020.90
5.5.260.0030.04320.87
5.5.250.0100.07020.68
5.5.240.0100.04020.21
5.5.230.0100.07020.27
5.5.220.0100.05020.24
5.5.210.0100.07720.27
5.5.200.0100.07320.18
5.5.190.0130.07720.08
5.5.180.0130.07320.27
5.5.160.0030.07020.23
5.5.150.0000.05720.23
5.5.140.0130.03319.98
5.5.130.0100.06720.24
5.5.120.0000.08320.25
5.5.110.0100.08020.10
5.5.100.0000.05020.07
5.5.90.0070.03720.06
5.5.80.0070.03720.02
5.5.70.0130.06020.09
5.5.60.0100.04320.15
5.5.50.0100.04020.03
5.5.40.0130.07720.05
5.5.30.0130.07720.04
5.5.20.0130.07020.04
5.5.10.0070.07720.02
5.5.00.0100.04720.12
5.4.450.0170.06719.23
5.4.440.0000.08319.35
5.4.430.0070.06719.11
5.4.420.0130.06019.55
5.4.410.0100.03319.16
5.4.400.0100.07019.15
5.4.390.0100.06718.96
5.4.380.0030.04319.11
5.4.370.0100.05718.96
5.4.360.0000.07318.90
5.4.350.0000.04318.98
5.4.340.0100.07019.13
5.4.320.0070.07719.07
5.4.310.0070.07018.96
5.4.300.0070.08019.11
5.4.290.0000.07019.04
5.4.280.0070.07719.14
5.4.270.0000.05319.11
5.4.260.0030.06318.96
5.4.250.0030.05018.99
5.4.240.0030.07719.11
5.4.230.0030.07718.78
5.4.220.0030.04318.77
5.4.210.0100.08019.24
5.4.200.0000.07018.89
5.4.190.0030.05318.95
5.4.180.0030.07718.97
5.4.170.0100.07319.21
5.4.160.0030.07719.01
5.4.150.0070.07718.96
5.4.140.0100.04016.32
5.4.130.0070.04316.31
5.4.120.0070.03716.27
5.4.110.0070.06016.25
5.4.100.0000.04016.42
5.4.90.0030.03716.26
5.4.80.0000.06716.19
5.4.70.0100.07016.27
5.4.60.0070.05016.23
5.4.50.0070.07716.22
5.4.40.0070.05716.29
5.4.30.0170.06716.31
5.4.20.0030.08016.30
5.4.10.0070.04316.39
5.4.00.0030.04715.75
5.3.290.0070.04314.52
5.3.280.0030.06014.54
5.3.270.0100.04714.61
5.3.260.0100.07014.55
5.3.250.0130.04714.42
5.3.240.0030.06314.61
5.3.230.0100.06714.54
5.3.220.0070.05014.40
5.3.210.0100.04014.52
5.3.200.0000.05014.56
5.3.190.0070.04014.53
5.3.180.0030.06014.54
5.3.170.0070.07714.51
5.3.160.0070.03714.42
5.3.150.0100.04014.55
5.3.140.0070.04314.54
5.3.130.0100.05714.46
5.3.120.0170.05314.37
5.3.110.0170.05014.40
5.3.100.0100.04714.00
5.3.90.0100.07013.84
5.3.80.0070.05713.77
5.3.70.0030.05713.92
5.3.60.0100.03713.86
5.3.50.0000.07713.90
5.3.40.0070.05713.93
5.3.30.0100.06713.76
5.3.20.0100.03313.69
5.3.10.0030.04713.63
5.3.00.0030.04013.49
5.2.170.0070.06011.13
5.2.160.0030.04711.13
5.2.150.0000.05010.95
5.2.140.0000.04311.09
5.2.130.0070.05711.07
5.2.120.0130.05311.02
5.2.110.0000.04311.02
5.2.100.0070.05711.09
5.2.90.0070.05311.17
5.2.80.0000.05011.09
5.2.70.0100.05711.09
5.2.60.0030.03710.89
5.2.50.0100.02310.81
5.2.40.0070.02310.94
5.2.30.0000.03010.93
5.2.20.0030.03010.92
5.2.10.0000.04310.75
5.2.00.0070.03310.63
5.1.60.0070.0539.98
5.1.50.0000.0579.99
5.1.40.0030.02710.00
5.1.30.0000.06010.26
5.1.20.0100.03310.43
5.1.10.0030.04310.14
5.1.00.0030.05310.11
5.0.50.0030.0338.54
5.0.40.0030.0238.40
5.0.30.0070.0678.07
5.0.20.0030.0208.03
5.0.10.0000.0308.01
5.0.00.0000.0508.14
4.4.90.0030.0177.63
4.4.80.0000.0177.63
4.4.70.0000.0207.63
4.4.60.0000.0307.63
4.4.50.0030.0307.63
4.4.40.0000.0407.63
4.4.30.0000.0407.63
4.4.20.0070.0277.63
4.4.10.0000.0237.63
4.4.00.0030.0437.63
4.3.110.0030.0307.63
4.3.100.0100.0307.63
4.3.90.0030.0277.63
4.3.80.0000.0307.63
4.3.70.0030.0177.63
4.3.60.0000.0237.63
4.3.50.0000.0277.63
4.3.40.0000.0537.63
4.3.30.0000.0237.63
4.3.20.0030.0177.63
4.3.10.0000.0177.63
4.3.00.0000.0277.63