3v4l.org

run code in 300+ PHP versions simultaneously
<?php public function merge_selectors(&$array) { $css = $array; foreach ($css as $key => $value) { if (!isset($css[$key])) { continue; } $newsel = ''; // Check if properties also exist in another selector $keys = array(); // PHP bug (?) without $css = $array; here foreach ($css as $selector => $vali) { if ($selector == $key) { continue; } if ($css[$key] === $vali) { $keys[] = $selector; } } if (!empty($keys)) { $newsel = $key; unset($css[$key]); foreach ($keys as $selector) { unset($css[$selector]); $newsel .= ',' . $selector; } $css[$newsel] = $value; } } $array = $css; }

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.0.20.0270.05020.05
7.0.10.0100.09020.09
7.0.00.0000.05720.23
5.6.170.0230.05720.45
5.6.160.0070.08020.55
5.6.150.0030.08318.15
5.6.140.0000.04718.28
5.6.130.0030.05318.15
5.6.120.0030.09021.04
5.6.110.0100.08021.14
5.6.100.0130.08021.00
5.6.90.0100.08720.87
5.6.80.0100.08020.39
5.5.310.0270.08020.34
5.5.300.0100.07717.95
5.5.290.0070.04718.04
5.5.280.0030.06020.79
5.5.270.0170.07720.72
5.5.260.0100.05020.79
5.5.250.0100.06320.57
5.5.240.0100.03720.11
5.4.450.0820.05819.32
5.4.440.0400.06019.51
5.4.430.0280.06019.45
5.4.420.0720.05819.35
5.4.410.0820.07319.22
5.4.400.0730.04319.00
5.4.390.0650.05219.13
5.4.380.0620.05319.18
5.4.370.0630.05219.19
5.4.360.0630.05319.03
5.4.350.0650.05219.19
5.4.340.0730.06319.04
5.4.320.0670.06219.03
5.4.310.0680.05719.01
5.4.300.0750.05819.13
5.4.290.0650.04819.18
5.4.280.0550.06219.14
5.4.270.0670.04819.07
5.4.260.0630.05219.27
5.4.250.0570.05319.24
5.4.240.0600.06519.16
5.4.230.0700.05519.25
5.4.220.0830.07019.27
5.4.210.0620.05719.14
5.4.200.0770.05319.14
5.4.190.0780.05219.05
5.4.180.0620.05219.16
5.4.170.0620.05319.13
5.4.160.0670.05219.05
5.4.150.0870.05819.15
5.4.140.0780.04516.37
5.4.130.0780.04816.46
5.4.120.0700.05016.46
5.4.110.0770.06716.24
5.4.100.0630.04716.58
5.4.90.0600.04716.53
5.4.80.0570.05316.46
5.4.70.0870.04316.61
5.4.60.1100.06016.48
5.4.50.0570.05016.57
5.4.40.0700.03716.44
5.4.30.0670.04316.55
5.4.20.0600.05016.52
5.4.10.0830.04316.18
5.4.00.0700.04015.93
5.3.290.0650.05214.48
5.3.280.0850.05014.46
5.3.270.0630.05214.51
5.3.260.0600.05314.53
5.3.250.0820.06814.46
5.3.240.0730.04714.51
5.3.230.0650.05514.48
5.3.220.0750.05314.47
5.3.210.0870.06014.32
5.3.200.0900.04014.41
5.3.190.0570.05314.46
5.3.180.0570.05314.61
5.3.170.0770.05014.45
5.3.160.0800.04714.45
5.3.150.0800.05014.46
5.3.140.0630.04714.45
5.3.130.0600.05314.46
5.3.120.0670.04714.44
5.3.110.0600.05714.45
5.3.100.0530.05713.94
5.3.90.0630.04713.89
5.3.80.0670.04713.79
5.3.70.0630.04713.91
5.3.60.0500.05713.84
5.3.50.0700.05713.79
5.3.40.0730.05013.83
5.3.30.0830.04313.84
5.3.20.0770.05013.46
5.3.10.0870.05013.51
5.3.00.0700.04013.53
5.2.170.0730.03011.04
5.2.160.0670.03711.06
5.2.150.0630.04310.95
5.2.140.0630.04711.05
5.2.130.0600.04010.96
5.2.120.0630.04011.01
5.2.110.0730.03311.16
5.2.100.0500.03710.94
5.2.90.0700.03711.01
5.2.80.0570.04711.00
5.2.70.0630.04310.93
5.2.60.0630.04011.08
5.2.50.0670.04010.83
5.2.40.0670.05310.89
5.2.30.0430.03711.00
5.2.20.0500.03010.86
5.2.10.0700.04310.82
5.2.00.0730.03010.69
5.1.60.0470.0379.96
5.1.50.0400.0339.95
5.1.40.0470.0379.78
5.1.30.0430.04010.30
5.1.20.0300.04710.31
5.1.10.0470.04010.10
5.1.00.0500.03710.04
5.0.50.0270.0308.49
5.0.40.0170.0308.38
5.0.30.0170.0478.20
5.0.20.0200.0278.14
5.0.10.0270.0278.14
5.0.00.0200.0437.97
4.4.90.0230.0236.42
4.4.80.0230.0236.42
4.4.70.0230.0236.42
4.4.60.0230.0236.42
4.4.50.0270.0206.42
4.4.40.0170.0376.42
4.4.30.0200.0206.42
4.4.20.0270.0236.42
4.4.10.0270.0206.42
4.4.00.0270.0336.42
4.3.110.0200.0276.42
4.3.100.0170.0236.42
4.3.90.0130.0276.42
4.3.80.0170.0376.42
4.3.70.0230.0176.42
4.3.60.0200.0206.42
4.3.50.0170.0276.42
4.3.40.0230.0376.42
4.3.30.0070.0276.42
4.3.20.0070.0336.42
4.3.10.0170.0176.42
4.3.00.0170.0176.42

preferences:
144.4 ms | 1386 KiB | 7 Q