3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = [ 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, ]; function mangle_array($key_to_remove, $key_to_place_after, array $data) { $tmp_value = $data[$key_to_remove]; $new_data = $data; unset($new_data[$key_to_remove]); $to_place_after_position = array_search($key_to_place_after, array_keys($new_data)); $before = array_slice($new_data, 0, $to_place_after_position + 1); $middle = [$key_to_remove => $tmp_value]; $after = array_slice($new_data, $to_place_after_position + 1); return array_merge($before, $middle, $after); } $data_mangled = mangle_array('b', 'c', $data); var_dump($data_mangled);

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)
8.3.70.0100.00716.75
8.3.60.0080.00816.75
8.3.50.0060.01120.32
8.3.40.0070.00719.84
8.3.30.0100.00618.71
8.3.20.0040.00424.18
8.3.10.0040.00424.66
8.3.00.0080.00026.16
8.2.190.0180.00016.75
8.2.180.0070.01125.92
8.2.170.0140.00718.79
8.2.160.0000.01422.96
8.2.150.0050.00225.66
8.2.140.0040.00424.66
8.2.130.0080.00026.16
8.2.120.0050.00326.16
8.2.110.0000.00920.94
8.2.100.0040.00817.45
8.2.90.0060.00319.23
8.2.80.0050.00317.97
8.2.70.0000.00817.50
8.2.60.0040.00418.04
8.2.50.0060.00318.07
8.2.40.0050.00318.16
8.2.30.0040.00417.97
8.2.20.0000.00819.21
8.2.10.0030.00617.96
8.2.00.0040.00419.33
8.1.280.0030.01325.92
8.1.270.0030.00524.66
8.1.260.0000.00826.35
8.1.250.0040.00428.09
8.1.240.0040.00422.81
8.1.230.0040.00717.82
8.1.220.0070.00617.74
8.1.210.0040.00418.77
8.1.200.0030.00717.22
8.1.190.0060.00317.10
8.1.180.0050.00318.10
8.1.170.0030.00618.59
8.1.160.0060.00318.88
8.1.150.0000.00718.60
8.1.140.0050.00317.46
8.1.130.0000.00719.01
8.1.120.0040.00417.39
8.1.110.0060.00317.34
8.1.100.0020.00517.33
8.1.90.0050.00317.46
8.1.80.0080.00817.38
8.1.70.0130.00517.36
8.1.60.0090.00917.52
8.1.50.0150.00317.33
8.1.40.0140.00417.45
8.1.30.0090.00917.68
8.1.20.0140.00317.50
8.1.10.0090.00417.38
8.1.00.0090.00917.34
8.0.300.0030.00618.77
8.0.290.0080.00016.63
8.0.280.0030.00418.39
8.0.270.0040.00416.78
8.0.260.0030.00318.45
8.0.250.0030.00316.78
8.0.240.0000.00716.89
8.0.230.0050.00316.80
8.0.220.0100.00516.82
8.0.210.0110.00416.83
8.0.200.0080.00816.78
8.0.190.0100.00716.89
8.0.180.0120.00316.76
8.0.170.0110.00316.85
8.0.160.0110.00316.70
8.0.150.0160.00016.81
8.0.140.0100.00516.74
8.0.130.0080.00716.76
8.0.120.0110.00416.85
8.0.110.0090.00516.88
8.0.100.0090.00716.77
8.0.90.0100.00516.78
8.0.80.0050.00916.88
8.0.70.0130.00016.67
8.0.60.0080.00816.72
8.0.50.0100.00416.84
8.0.30.0110.00016.63
8.0.20.0120.00016.71
8.0.10.0040.00416.97
7.4.330.0060.00015.55
7.4.320.0090.00016.60
7.4.300.0070.00416.16
7.4.290.0070.00316.24
7.4.280.0030.00816.57
7.4.270.0100.00016.34
7.4.260.0050.00516.20
7.4.250.0070.00416.16
7.4.240.0050.00516.54
7.4.230.0080.00316.32
7.4.220.0080.00316.25
7.4.210.0000.01016.42
7.4.200.0080.00316.36
7.4.190.0070.00416.23
7.4.180.0030.00716.28
7.4.160.0060.00316.64
7.4.150.0050.00516.14
7.4.140.0030.00816.59
7.4.130.0110.00016.39
7.4.120.0040.00816.33
7.4.110.0060.00616.30
7.4.100.0040.00816.48
7.4.90.0120.00016.34
7.4.80.0060.00616.32
7.4.70.0090.00416.45
7.4.60.0120.00216.42
7.4.50.0000.01116.34
7.4.40.0110.00316.39
7.4.30.0110.00316.43
7.4.20.0100.00316.46
7.4.10.0080.00616.46
7.4.00.0120.00016.39

preferences:
17.76 ms | 401 KiB | 5 Q