3v4l.org

run code in 300+ PHP versions simultaneously
<?php class MenuElement { public $id; public $children = array(); public __construct($id) { $this->id = $id; } public function addChild(MenuElement $menuElement) { array_push($this->children, $menuElement); } } $menuElement1 = new MenuElement(1); $menuElement11 = new MenuElement(11); $menuElement12 = new MenuElement(12); $menuElement121 = new MenuElement(121); $menuElement122 = new MenuElement(122); $menuElement123 = new MenuElement(123); $menuElement1211 = new MenuElement(1211); $menuElement121->addChild($menuElement1211); $menuElement12->addChild($menuElement121); $menuElement12->addChild($menuElement122); $menuElement12->addChild($menuElement123); $menuElement1->addChild($menuElement11); $menuElement1->addChild($menuElement12); function foo(MenuElement $elt, $level = 0) { if (0 == $level) echo '<ul>'.PHP_EOL; echo str_repeat(' ', $level+1).'<li>'.$elt->id; if (!count($elt->children)) { echo '</li>'.PHP_EOL; return; } echo PHP_EOL.str_repeat(' ', $level+2).'<ul>'.PHP_EOL; foreach($elt->children as $child) foo($child, $level+2); echo str_repeat(' ', $level+2).'</ul>'.PHP_EOL; echo str_repeat(' ', $level+1).'</li>'.PHP_EOL; if (0 == $level) echo '</ul>'.PHP_EOL; } foo($menuElement1);

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.320.0060.03612.51
5.4.310.0070.04412.50
5.4.300.0060.03512.51
5.4.290.0090.04112.50
5.4.280.0070.03312.40
5.4.270.0040.04512.41
5.4.260.0040.03912.41
5.4.250.0090.03912.41
5.4.240.0060.04012.41
5.4.230.0070.04312.39
5.4.220.0080.03912.40
5.4.210.0080.04012.39
5.4.200.0070.03612.39
5.4.190.0070.03712.39
5.4.180.0070.04012.39
5.4.170.0070.03612.40
5.4.160.0120.03612.40
5.4.150.0050.04012.39
5.4.140.0040.03812.09
5.4.130.0050.03512.06
5.4.120.0050.03612.03
5.4.110.0050.03512.03
5.4.100.0060.03312.02
5.4.90.0060.03512.02
5.4.80.0070.03812.02
5.4.70.0070.03512.02
5.4.60.0060.03412.02
5.4.50.0060.03412.02
5.4.40.0030.03612.01
5.4.30.0050.03612.00
5.4.20.0040.03612.00
5.4.10.0060.03412.00
5.4.00.0050.03711.50
5.3.290.0070.03812.80
5.3.280.0040.04212.71
5.3.270.0090.03712.72
5.3.260.0070.03812.72
5.3.250.0030.04012.71
5.3.240.0050.03812.72
5.3.230.0060.03712.71
5.3.220.0060.03512.68
5.3.210.0040.03912.68
5.3.200.0060.03512.68
5.3.190.0070.03512.68
5.3.180.0060.03912.67
5.3.170.0080.03712.67
5.3.160.0030.04012.67
5.3.150.0090.03812.67
5.3.140.0050.03912.66
5.3.130.0020.04212.65
5.3.120.0070.03812.66
5.3.110.0030.04112.65
5.3.100.0040.03812.12
5.3.90.0050.03612.10
5.3.80.0050.03512.09
5.3.70.0070.03512.09
5.3.60.0050.03712.08
5.3.50.0050.03812.02
5.3.40.0070.03812.02
5.3.30.0050.03511.98
5.3.20.0090.03111.76
5.3.10.0060.03311.73
5.3.00.0040.04111.71
5.2.170.0050.0299.22
5.2.160.0030.0309.22
5.2.150.0030.0319.21
5.2.140.0020.0339.21
5.2.130.0050.0289.18
5.2.120.0040.0289.18
5.2.110.0040.0299.18
5.2.100.0050.0279.17
5.2.90.0060.0289.18
5.2.80.0030.0339.17
5.2.70.0060.0279.17
5.2.60.0040.0309.13
5.2.50.0020.0329.10
5.2.40.0050.0289.07
5.2.30.0050.0289.05
5.2.20.0050.0289.04
5.2.10.0050.0278.94
5.2.00.0040.0298.81
5.1.60.0070.0218.09
5.1.50.0030.0278.09
5.1.40.0050.0238.06
5.1.30.0040.0268.42
5.1.20.0050.0278.43
5.1.10.0080.0228.16
5.1.00.0050.0248.17
5.0.50.0030.0206.64
5.0.40.0050.0226.50
5.0.30.0040.0376.31
5.0.20.0020.0276.27
5.0.10.0040.0216.26
5.0.00.0070.0316.25
4.4.90.0050.0194.78
4.4.80.0010.0224.76
4.4.70.0060.0184.76
4.4.60.0060.0194.76
4.4.50.0050.0194.77
4.4.40.0040.0324.71
4.4.30.0020.0174.76
4.4.20.0040.0214.84
4.4.10.0020.0174.85
4.4.00.0010.0304.76
4.3.110.0020.0164.67
4.3.100.0030.0194.66
4.3.90.0030.0164.64
4.3.80.0020.0284.58
4.3.70.0030.0144.63
4.3.60.0030.0144.63
4.3.50.0020.0154.63
4.3.40.0010.0254.54
4.3.30.0010.0173.30
4.3.20.0020.0163.28
4.3.10.0010.0163.24
4.3.00.0000.0237.18

preferences:
144.29 ms | 1394 KiB | 7 Q