3v4l.org

run code in 300+ PHP versions simultaneously
<?php <?php // http://php.net/manual/en/language.oop5.typehinting.php says that type-hinted PHP parameter // that has no default value set to null can't be null. But are you sure? // First, some magic! function custom_error_handler($level, $message, $file = '', $line = 0, $context = array()) { if (error_reporting() & $level) { throw new Exception($message, 0, $level, $file, $line); } } set_error_handler('custom_error_handler'); error_reporting(0); // Yeah, not the best solution class SomeClass {} function test(SomeClass $instance) {var_dump($instance);} // NOTE: E_RECOVERABLE_ERROR (4096) occurs here test(null); // But what is this?! We have NULL in output! Are you surprised?

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)
5.4.340.0020.03912.01
5.4.320.0050.03712.49
5.4.310.0050.03812.49
5.4.300.0050.03612.50
5.4.290.0060.03712.49
5.4.280.0080.03312.39
5.4.270.0070.03512.39
5.4.260.0060.03712.39
5.4.250.0060.03712.39
5.4.240.0060.03712.39
5.4.230.0070.03712.38
5.4.220.0050.03512.38
5.4.210.0070.03312.38
5.4.200.0090.03912.38
5.4.190.0040.03812.38
5.4.180.0040.03712.38
5.4.170.0040.03712.39
5.4.160.0020.04012.38
5.4.150.0040.04012.38
5.4.140.0070.04212.07
5.4.130.0100.03312.05
5.4.120.0030.03912.02
5.4.110.0100.03212.01
5.4.100.0040.03612.01
5.4.90.0040.03912.01
5.4.80.0060.03912.01
5.4.70.0070.03612.01
5.4.60.0050.03512.00
5.4.50.0090.03212.01
5.4.40.0040.03612.00
5.4.30.0090.03111.99
5.4.20.0100.03111.99
5.4.10.0050.03511.99
5.4.00.0060.03611.48
5.3.290.0070.03812.80
5.3.280.0070.03712.71
5.3.270.0060.03912.72
5.3.260.0050.04312.72
5.3.250.0040.03912.72
5.3.240.0100.03712.72
5.3.230.0090.03812.71
5.3.220.0060.03812.68
5.3.210.0060.03812.68
5.3.200.0060.03612.68
5.3.190.0100.03312.68
5.3.180.0050.03712.68
5.3.170.0060.03612.67
5.3.160.0060.03512.68
5.3.150.0080.03512.67
5.3.140.0040.03812.66
5.3.130.0050.03912.66
5.3.120.0040.04012.66
5.3.110.0050.03912.66
5.3.100.0070.03512.12
5.3.90.0100.03412.08
5.3.80.0050.03712.08
5.3.70.0050.03612.07
5.3.60.0040.03712.06
5.3.50.0080.03412.00
5.3.40.0030.03912.00
5.3.30.0090.03111.95
5.3.20.0040.03611.73
5.3.10.0080.03211.70
5.3.00.0040.03811.68
5.2.170.0040.0319.18
5.2.160.0060.0279.18
5.2.150.0020.0339.18
5.2.140.0050.0299.18
5.2.130.0060.0349.14
5.2.120.0070.0269.14
5.2.110.0040.0299.15
5.2.100.0040.0299.14
5.2.90.0020.0329.14
5.2.80.0050.0309.14
5.2.70.0030.0329.14
5.2.60.0060.0289.09
5.2.50.0050.0299.06
5.2.40.0060.0279.04
5.2.30.0070.0269.01
5.2.20.0050.0329.00
5.2.10.0030.0298.93
5.2.00.0050.0368.79
5.1.60.0020.0268.07
5.1.50.0040.0248.06
5.1.40.0080.0228.05
5.1.30.0060.0268.39
5.1.20.0030.0278.42
5.1.10.0010.0298.14
5.1.00.0060.0248.14
5.0.50.0090.0196.62
5.0.40.0010.0216.48
5.0.30.0050.0296.29
5.0.20.0030.0196.26
5.0.10.0030.0206.24
5.0.00.0050.0346.23
4.4.90.0030.0144.78
4.4.80.0030.0144.76
4.4.70.0040.0164.76
4.4.60.0040.0164.75
4.4.50.0030.0154.77
4.4.40.0040.0244.71
4.4.30.0020.0164.76
4.4.20.0010.0174.85
4.4.10.0050.0144.85
4.4.00.0050.0224.76
4.3.110.0020.0164.66
4.3.100.0040.0134.66
4.3.90.0010.0164.63
4.3.80.0010.0264.59
4.3.70.0030.0144.63
4.3.60.0040.0134.63
4.3.50.0040.0144.63
4.3.40.0010.0254.54
4.3.30.0040.0133.28
4.3.20.0040.0183.25
4.3.10.0020.0203.22
4.3.00.0130.0177.00

preferences:
140.3 ms | 1394 KiB | 7 Q