3v4l.org

run code in 300+ PHP versions simultaneously
<?php function getValues(&$egElement, $property, $option = NULL) { if(is_array($egElement) === FALSE) { return array(); } if(is_int($option) and $option > 1) { $values = array(); foreach($egElement as $key => $egSubElement) { $values = array_merge($values, getValues($egSubElement, $property, $option - 1)); } return $values; } $values = array(); foreach($egElement as $key => $eElement) { if(array_key_exists($property, $eElement)) { if(is_string($option)) { $values[$key] = call_user_func_array($option, array($eElement[$property])); } else if($option === TRUE) { $values[$key] = &$egElement[$key][$property]; } else { $values[$key] = $eElement[$property]; } } } reset($egElement); return $values; } $egElement = array(); for($i=0;$i<1000000;$i++) { $egElement[] = array('id' => (int)rand(0,100)); } $m = memory_get_usage(true); $mm = memory_get_peak_usage(true); $t = microtime(true); getValues($egElement, 'id'); echo "Memory: ".(memory_get_usage(true) - $m)." octets\n"; echo "Max Memory: ".(memory_get_peak_usage(true) - $mm)." octets\n"; echo "Time: ".(microtime(true) - $t)." secondes\n"; $m = memory_get_usage(true); $mm = memory_get_peak_usage(true); $t = microtime(true); array_column($egElement, 'id'); echo "Memory: ".(memory_get_usage(true) - $m)." octets\n"; echo "Max Memory: ".(memory_get_peak_usage(true) - $mm)." octets\n"; echo "Time: ".(microtime(true) - $t)." secondes\n";

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.3.10.2130.02074.39
7.3.00.1400.04074.28
7.2.130.2070.02674.81
7.2.120.0690.01374.84
7.2.110.0360.02174.91
7.2.100.0150.03874.90
7.2.90.0280.03174.96
7.2.80.0300.01674.96
7.2.70.0270.02774.99
7.2.60.0270.03074.77
7.2.50.0210.03174.80
7.2.40.0280.02574.96
7.2.30.0200.02774.96
7.2.20.0240.02874.80
7.2.10.0210.02574.64
7.2.00.0260.03076.04
7.1.250.1380.05873.67
7.1.70.0320.03674.92
7.1.60.0230.03075.48
7.1.50.0170.06374.95
7.1.00.0070.07780.18
7.0.200.0030.03774.59
7.0.140.0000.11380.21
7.0.70.0700.10378.13
7.0.60.0600.06378.04
7.0.50.0570.06778.42
7.0.40.0200.11027.96
7.0.30.0230.12027.74
7.0.20.0270.11027.87
7.0.10.0170.07027.89
7.0.00.0200.11727.95
5.6.280.0300.21785.65
5.6.220.0700.12385.17
5.6.210.0300.17785.19
5.6.200.0230.13385.64
5.6.190.0370.14785.61
5.6.180.0200.11785.71
5.6.170.0330.16085.73
5.6.160.0270.13085.64
5.6.150.0430.13385.73
5.6.140.0500.16085.57
5.6.130.0300.17085.62
5.6.120.0330.15085.75
5.6.110.0230.15785.63
5.6.100.0170.17785.60
5.6.90.0300.18085.71
5.6.80.0430.15385.00
5.6.70.0370.13085.07
5.6.60.0170.19385.12
5.6.50.0530.15785.06
5.6.40.0330.17384.92
5.6.30.0300.17784.93
5.6.20.0330.15385.01
5.6.10.0400.17084.97
5.6.00.0500.14085.00
5.5.360.0230.13785.05
5.5.350.0200.17085.02
5.5.340.0470.17085.51
5.5.330.0200.14385.35
5.5.320.0230.18385.54
5.5.310.0300.19385.39
5.5.300.0200.12085.42
5.5.290.0300.19085.48
5.5.280.0370.18085.55
5.5.270.0470.15085.46
5.5.260.0330.18085.44
5.5.250.0230.13785.29
5.5.240.0270.15384.92
5.5.230.0270.14084.86
5.5.220.0300.18384.72
5.5.210.0300.18084.90
5.5.200.0200.16084.89
5.5.190.0170.19784.70
5.5.180.0330.17384.86
5.5.160.0200.13384.87
5.5.150.0330.17384.88
5.5.140.0400.18084.74
5.5.130.0430.16384.85
5.5.120.0370.12384.68
5.5.110.0170.16784.79
5.5.100.0330.16784.60
5.5.90.0370.17384.77
5.5.80.0370.17084.68
5.5.70.0270.12384.71
5.5.60.0300.12084.67
5.5.50.0270.11084.54
5.5.40.0470.12784.65
5.5.30.0230.11384.61
5.5.20.0070.14384.73
5.5.10.0170.12384.70
5.5.00.0270.11384.74
5.4.450.0270.16083.93
5.4.440.0270.14783.94
5.4.430.0370.15783.79
5.4.420.0270.13783.77
5.4.410.0400.17083.86
5.4.400.0300.18083.56
5.4.390.0370.12383.60
5.4.380.0200.13783.63
5.4.370.0370.15383.57
5.4.360.0270.18383.73
5.4.350.0100.12083.58
5.4.340.0500.11383.60
5.4.320.0170.18083.54
5.4.310.0270.18383.64
5.4.300.0270.18083.60
5.4.290.0270.16383.70
5.4.280.0230.18783.60
5.4.270.0500.13383.54
5.4.260.0170.16783.61
5.4.250.0300.14083.49
5.4.240.0230.13083.57
5.4.230.0430.16383.57
5.4.220.0270.16083.43
5.4.210.0300.11083.43
5.4.200.0130.13783.57
5.4.190.0370.09783.61
5.4.180.0170.11783.54
5.4.170.0300.14783.75
5.4.160.0230.12083.43
5.4.150.0270.08783.58
5.4.140.0130.09780.90
5.4.130.0270.13780.89
5.4.120.0230.09081.02
5.4.110.0030.12081.03
5.4.100.0130.10081.05
5.4.90.0100.10780.89
5.4.80.0200.10380.88
5.4.70.0330.13380.98
5.4.60.0200.09080.86
5.4.50.0070.12080.84
5.4.40.0170.11781.06
5.4.30.0370.07080.98
5.4.20.0030.12780.89
5.4.10.0270.16380.84
5.4.00.0170.16380.28
5.3.290.0200.14377.86
5.3.280.0270.15777.72
5.3.270.0300.11077.75
5.3.260.0200.09377.70
5.3.250.0070.12077.62
5.3.240.0170.10077.73
5.3.230.0230.10777.73
5.3.220.0170.09377.71
5.3.210.0300.09777.63
5.3.200.0070.13077.64
5.3.190.0270.10377.63
5.3.180.0130.11777.68
5.3.170.0170.09377.65
5.3.160.0270.10777.62
5.3.150.0170.11377.65
5.3.140.0200.11377.52
5.3.130.0270.10377.68
5.3.120.0230.09377.66
5.3.110.0270.12777.74
5.3.100.0200.16777.05
5.3.90.0270.15777.11
5.3.80.0330.15376.99
5.3.70.0300.15077.15
5.3.60.0200.19377.05
5.3.50.0330.14377.08
5.3.40.0330.15077.06
5.3.30.0270.16377.00
5.3.20.0200.17376.80
5.3.10.0170.14376.62
5.3.00.0230.16376.82
5.2.170.0200.11374.66
5.2.160.0270.18074.78
5.2.150.0330.19374.61
5.2.140.0430.16074.87
5.2.130.0270.17774.71
5.2.120.0230.16074.77
5.2.110.0170.19074.68
5.2.100.0230.15074.75
5.2.90.0370.17074.68
5.2.80.0400.18074.77
5.2.70.0170.14074.84
5.2.60.0400.16374.76
5.2.50.0300.13074.55
5.2.40.0100.13774.69
5.2.30.0130.16374.74
5.2.20.0330.12374.69
5.2.10.0370.15774.45
5.2.00.1270.563432.21
5.1.60.1770.617551.76
5.1.50.1430.643551.86
5.1.40.1430.563551.79
5.1.30.1600.583552.01
5.1.20.1730.603552.17
5.1.10.1670.607551.97
5.1.00.1530.630551.98
5.0.50.1870.733550.45
5.0.40.1270.647550.09
5.0.30.1430.757550.04
5.0.20.1430.743550.09
5.0.10.1530.723550.00
5.0.00.1600.783549.99
4.4.90.1930.717547.87
4.4.80.1500.753547.84
4.4.70.1400.720547.73
4.4.60.1370.780547.75
4.4.50.1370.760547.82
4.4.40.1530.770547.76
4.4.30.1570.743547.77
4.4.20.1670.740547.82
4.4.10.1200.713547.84
4.4.00.1730.803547.88
4.3.110.1470.950547.77
4.3.100.1770.947547.71
4.3.90.1470.887547.71
4.3.80.1430.913547.75
4.3.70.1270.937547.75
4.3.60.1300.923547.69
4.3.50.1130.740547.64
4.3.40.1700.900547.61
4.3.30.1700.930546.55
4.3.20.1201.690546.45
4.3.10.1231.747546.34
4.3.00.1571.973546.46

preferences:
34.69 ms | 401 KiB | 5 Q