3v4l.org

run code in 300+ PHP versions simultaneously
<?php // simulate network latency in seconds $seconds = 0.2; usleep($seconds * 1000000); function randomAverageSpeed() { return rand(5, 15); } class Runner { public $age, $distance, $time, $averageSpeed, $distanceKind; public function __construct($age, $distance, $time, $averageSpeed) { $this->age = $age; $this->distance = $distance; $this->time = $time; $this->averageSpeed = $averageSpeed; $this->distanceKind = $this->distanceKindConverter($distance); } private function distanceKindConverter($distanceAmount) { $distances = array( 5 => '', 10 => 'long', 7.195 => 'medium' ); return $distances[$distanceAmount]; } } $team1 = array( 'Piet' => new Runner(39, 5, 0, randomAverageSpeed()), 'Ellen' => new Runner(19, 10, 0, randomAverageSpeed()), 'Jan' => new Runner(32, 5, 0, randomAverageSpeed()), 'Petra' => new Runner(27, 10, 0, randomAverageSpeed()), 'Kees' => new Runner(15, 5, 0, randomAverageSpeed()), 'Kate' => new Runner(18, 7.195, 0, randomAverageSpeed()) ); $team2 = array( 'Klaas' => new Runner(46, 5, 0, randomAverageSpeed()), 'Beatrix' => new Runner(52, 10, 0, randomAverageSpeed()), 'Willem' => new Runner(34, 5, 0, randomAverageSpeed()), 'Alexander' => new Runner(30, 10, 0, randomAverageSpeed()), 'Maxima' => new Runner(44, 5, 0, randomAverageSpeed()), 'Amalia' => new Runner(26, 7.195, 0, randomAverageSpeed()) ); $team3 = array( 'Huub' => new Runner(55, 5, 0, randomAverageSpeed()), 'Nelly' => new Runner(50, 10, 0, randomAverageSpeed()), 'Rene' => new Runner(43, 5, 0, randomAverageSpeed()), 'Tatjana' => new Runner(45, 10, 0, randomAverageSpeed()), 'Boris' => new Runner(28, 5, 0, randomAverageSpeed()), 'Wodan' => new Runner(23, 7.195, 0, randomAverageSpeed()) ); $teams = array( 'Team 1' => $team1, 'Team 2' => $team2, 'Team 3' => $team3, ); if (isset($_GET['getAllTeamData'])) { echo json_encode($teams); } if (isset($_GET['getLatestTeamDistanceData'])) { $teamsStats = array( 'Team 1' => rand(0, 1), 'Team 2' => rand(0, 1), 'Team 3' => rand(0, 1), ); echo json_encode($teamsStats); } if (isset($_GET['getRunnerInfo'])) { $searchRunnerValue = trim($_GET['getRunnerInfo']); foreach ($teams as $key => $value) { foreach ($teams[$key] as $runner => $data) { if ($searchRunnerValue === $runner) { // remove some data unset($teams[$key][$runner]->distanceKind); unset($teams[$key][$runner]->time); unset($teams[$key][$runner]->averageSpeed); echo json_encode($teams[$key][$runner]); return; } } } if ($searchRunnerValue !== '') { echo 'ERROR: runner <strong>' . $searchRunnerValue . '</strong> not found!'; } else { echo 'ERROR: no runner name given!'; } }

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)
7.1.70.0090.00617.26
7.1.60.0120.01219.29
7.1.50.0070.01817.11
7.1.00.0100.07022.36
7.0.200.0050.00316.89
7.0.140.0100.07022.08
7.0.90.0100.05720.02
7.0.80.0130.07320.01
7.0.70.0070.07320.03
7.0.60.0100.06320.05
7.0.50.0270.09320.40
7.0.40.0170.04320.13
7.0.30.0100.08020.14
7.0.20.0100.07320.17
7.0.10.0070.07720.18
7.0.00.0170.06320.12
5.6.280.0070.07021.18
5.6.240.0070.07320.74
5.6.230.0100.08020.63
5.6.220.0070.08320.61
5.6.210.0030.08320.60
5.6.200.0030.09021.14
5.6.190.0070.08021.14
5.6.180.0130.07721.09
5.6.170.0070.08721.07
5.6.160.0130.07321.21
5.6.150.0030.09021.06
5.6.140.0100.07720.96
5.6.130.0070.08721.20
5.6.120.0100.09021.16
5.6.110.0100.08321.16
5.6.100.0230.04721.05
5.6.90.0070.09021.15
5.6.80.0100.08020.49
5.6.70.0030.09020.45
5.6.60.0130.06320.46
5.6.50.0070.08320.35
5.6.40.0030.08320.43
5.6.30.0100.07720.44
5.6.20.0030.07320.44
5.6.10.0100.07720.52
5.6.00.0070.08020.34
5.5.380.0100.07320.43
5.5.370.0070.08020.53
5.5.360.0070.08020.43
5.5.350.0130.07720.48
5.5.340.0130.07020.90
5.5.330.0100.08320.94
5.5.320.0100.08720.75
5.5.310.0070.08020.94
5.5.300.0100.07720.86
5.5.290.0070.08720.88
5.5.280.0070.08020.83
5.5.270.0230.07020.93
5.5.260.0100.08020.75
5.5.250.0030.08720.66
5.5.240.0070.07320.32
5.5.230.0130.07320.32
5.5.220.0100.07720.29
5.5.210.0100.06720.29
5.5.200.0030.08320.27
5.5.190.0070.07720.27
5.5.180.0070.07020.27
5.5.160.0100.05720.15
5.5.150.0070.04720.27
5.5.140.0130.07320.16
5.5.130.0070.06320.27
5.5.120.0130.08020.10
5.5.110.0100.08020.17
5.5.100.0100.08020.04
5.5.90.0070.08020.15
5.5.80.0030.07320.13
5.5.70.0200.07320.19
5.5.60.0030.06720.08
5.5.50.0030.04320.08
5.5.40.0000.05020.08
5.5.30.0070.06020.16
5.5.20.0100.03020.02
5.5.10.0030.04020.00
5.5.00.0070.03319.99
5.4.450.0030.06719.48
5.4.440.0070.08319.21
5.4.430.0100.08019.21
5.4.420.0130.07319.36
5.4.410.0000.08719.40
5.4.400.0130.07718.88
5.4.390.0030.08719.11
5.4.380.0030.08318.88
5.4.370.0070.07319.23
5.4.360.0100.08019.14
5.4.350.0070.07719.04
5.4.340.0100.07719.09
5.4.320.0070.06019.02
5.4.310.0100.06319.04
5.4.300.0100.06319.13
5.4.290.0070.05019.03
5.4.280.0030.06719.20
5.4.270.0100.07719.23
5.4.260.0070.08719.18
5.4.250.0130.07318.88
5.4.240.0070.07318.87
5.4.230.0070.08018.87
5.4.220.0170.06019.20
5.4.210.0070.04019.17
5.4.200.0200.04318.89
5.4.190.0030.04319.11
5.4.180.0130.06719.23
5.4.170.0030.07319.02
5.4.160.0000.04019.19
5.4.150.0030.04018.83
5.4.140.0100.03016.42
5.4.130.0000.03316.41
5.4.120.0030.03316.19
5.4.110.0000.04716.54
5.4.100.0130.06316.44
5.4.90.0100.05316.49
5.4.80.0070.07016.36
5.4.70.0000.08016.35
5.4.60.0100.07316.38
5.4.50.0170.06316.36
5.4.40.0170.07016.56
5.4.30.0100.07316.32
5.4.20.0100.07316.27
5.4.10.0130.06716.49
5.4.00.0100.05015.77
5.3.290.0000.08314.78
5.3.280.0100.07314.56
5.3.270.0030.06314.74
5.3.260.0030.04014.58
5.3.250.0030.03714.79
5.3.240.0000.03714.62
5.3.230.0100.03714.58
5.3.220.0070.03014.58
5.3.210.0070.07314.74
5.3.200.0030.05314.64
5.3.190.0070.07014.69
5.3.180.0030.05714.54
5.3.170.0130.07014.67
5.3.160.0100.06014.61
5.3.150.0070.07014.62
5.3.140.0130.07714.67
5.3.130.0070.08014.65
5.3.120.0030.07314.65
5.3.110.0070.06014.65
5.3.100.0000.08014.18
5.3.90.0070.04714.00
5.3.80.0130.07014.13
5.3.70.0000.08314.07
5.3.60.0030.07014.03
5.3.50.0070.04014.08
5.3.40.0100.06314.05
5.3.30.0070.06713.89
5.3.20.0130.06713.77
5.3.10.0130.06713.63
5.3.00.0100.06713.63
5.2.170.0000.06711.21
5.2.160.0170.05311.18
5.2.150.0000.06711.29
5.2.140.0030.06011.24
5.2.130.0070.06311.09
5.2.120.0100.05011.20
5.2.110.0130.05311.05
5.2.100.0070.06011.21
5.2.90.0030.06311.06
5.2.80.0000.06711.20
5.2.70.0070.06311.20
5.2.60.0030.06311.16
5.2.50.0000.07311.05
5.2.40.0070.05711.10
5.2.30.0100.05711.08
5.2.20.0030.05711.06
5.2.10.0030.04710.78
5.2.00.0070.06010.87
5.1.60.0100.04710.17
5.1.50.0070.0379.90
5.1.40.0130.0479.88
5.1.30.0070.05310.32
5.1.20.0000.06310.43
5.1.10.0100.04710.24
5.1.00.0100.05010.12
5.0.50.0070.0438.50
5.0.40.0000.0478.55
5.0.30.0000.0638.36
5.0.20.0070.0438.30
5.0.10.0070.0338.27
5.0.00.0030.0608.23
4.4.90.0000.0407.28
4.4.80.0030.0377.28
4.4.70.0000.0337.28
4.4.60.0000.0337.28
4.4.50.0030.0337.28
4.4.40.0000.0537.28
4.4.30.0000.0407.28
4.4.20.0000.0377.28
4.4.10.0030.0337.28
4.4.00.0000.0537.28
4.3.110.0070.0307.28
4.3.100.0030.0337.28
4.3.90.0030.0377.28
4.3.80.0070.0307.28
4.3.70.0000.0277.28
4.3.60.0000.0337.28
4.3.50.0030.0337.28
4.3.40.0030.0477.28
4.3.30.0070.0207.28
4.3.20.0000.0377.28
4.3.10.0030.0337.28
4.3.00.0000.0337.28

preferences:
33.35 ms | 400 KiB | 5 Q