3v4l.org

run code in 300+ PHP versions simultaneously
<?php $items = [ (object)['title' => 'a test title'], (object)['title' => 'second title'], (object)['title' => 'Привет!'], (object)['title' => 'çà'] ]; // Instantiating the single-byte alphabetical groups... $groups = array_fill_keys(array_merge(range('a','z'), ['other']), []); //var_export($groups); //echo "\n---\n"; // Grouping by first (potentially multi-byte) letter... $translate = [ 'à' => 'a', 'á' => 'a', 'ả' => 'a', 'ạ' => 'a', 'ã' => 'a', 'â' => 'a', 'ầ' => 'a', 'ấ' => 'a', 'ẩ' => 'a', 'ậ' => 'a', 'ẫ' => 'a', 'ă' => 'a', 'ằ' => 'a', 'ắ' => 'a', 'ẳ' => 'a', 'ặ' => 'a', 'ẵ' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'a', 'đ' => 'd', 'è' => 'e', 'é' => 'e', 'ẻ' => 'e', 'ẹ' => 'e', 'ẽ' => 'e', 'ê' => 'e', 'ề' => 'e', 'ế' => 'e', 'ể' => 'e', 'ệ' => 'e', 'ễ' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'ỉ' => 'i', 'ị' => 'i', 'ĩ' => 'i', 'î' => 'i', 'ï' => 'i', 'ò' => 'o', 'ó' => 'o', 'ỏ' => 'o', 'ọ' => 'o', 'õ' => 'o', 'ô' => 'o', 'ồ' => 'o', 'ố' => 'o', 'ổ' => 'o', 'ộ' => 'o', 'ỗ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ũ' => 'u', 'ü' => 'u', 'ů' => 'u', 'ủ' => 'u', 'ụ' => 'u', 'ư' => 'u', 'ứ' => 'u', 'ừ' => 'u', 'ữ' => 'u', 'ử' => 'u', 'ự' => 'u', 'ć' => 'c', 'ĉ' => 'c', 'ç' => 'c', 'ç' => 'c', 'ñ' => 'n', 'ý' => 'y', 'ỳ' => 'y', 'ỷ' => 'y', 'ỵ' => 'y', 'ỹ' => 'y', 'ŷ' => 'y', 'ÿ' => 'y' ]; foreach ($items as $item) { $first = strtr(mb_strtolower(mb_substr($item->title, 0, 1, "UTF-8"), "UTF-8"), $translate); if (isset($groups[$first])) { $groups[$first] = [$first, $item]; } else { $groups['other'] = [$first, $item]; } } var_export($groups);

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.60.0070.00718.39
8.3.50.0120.00922.01
8.3.40.0090.00918.91
8.3.30.0040.01118.65
8.3.20.0070.00021.72
8.3.10.0000.00820.04
8.3.00.0040.00423.48
8.2.180.0090.00916.50
8.2.170.0110.00722.96
8.2.160.0140.00020.77
8.2.150.0000.00924.18
8.2.140.0040.00424.66
8.2.130.0080.00026.16
8.2.120.0070.00026.16
8.2.110.0030.00622.29
8.2.100.0080.00417.83
8.2.90.0000.00917.88
8.2.80.0040.00417.97
8.2.70.0080.00017.68
8.2.60.0040.00418.12
8.2.50.0080.00018.10
8.2.40.0000.00819.51
8.2.30.0040.00419.25
8.2.20.0070.00018.00
8.2.10.0000.00819.37
8.2.00.0000.00819.18
8.1.280.0040.01225.92
8.1.270.0000.00822.02
8.1.260.0000.00726.35
8.1.250.0040.00428.09
8.1.240.0060.00322.05
8.1.230.0070.00322.07
8.1.220.0050.00317.74
8.1.210.0000.00818.77
8.1.200.0080.00317.35
8.1.190.0030.00617.13
8.1.180.0000.00818.10
8.1.170.0030.00618.59
8.1.160.0000.00719.06
8.1.150.0000.00719.00
8.1.140.0070.00018.94
8.1.130.0000.00720.25
8.1.120.0030.00517.49
8.1.110.0080.00017.37
8.1.100.0040.00417.51
8.1.90.0040.00417.48
8.1.80.0040.00417.52
8.1.70.0000.00717.54
8.1.60.0030.00517.60
8.1.50.0040.00417.47
8.1.40.0060.00317.59
8.1.30.0030.00617.64
8.1.20.0050.00317.74
8.1.10.0040.00417.52
8.1.00.0040.00417.64
8.0.300.0000.00719.64
8.0.290.0000.00916.88
8.0.280.0050.00218.50
8.0.270.0040.00417.41
8.0.260.0000.00618.56
8.0.250.0000.00817.07
8.0.240.0030.00617.10
8.0.230.0040.00417.10
8.0.220.0000.00717.06
8.0.210.0060.00317.14
8.0.200.0000.00617.07
8.0.190.0040.00416.97
8.0.180.0040.00416.93
8.0.170.0060.00616.94
8.0.160.0060.00317.03
8.0.150.0000.00716.90
8.0.140.0050.00316.97
8.0.130.0060.00313.49
8.0.120.0000.00816.96
8.0.110.0000.00717.03
8.0.100.0030.00517.04
8.0.90.0040.00416.91
8.0.80.0080.00817.03
8.0.70.0000.00816.89
8.0.60.0000.00816.89
8.0.50.0040.00416.91
8.0.30.0140.00817.11
8.0.20.0120.00617.13
8.0.10.0040.00417.09
8.0.00.0130.00716.79
7.4.330.0050.00015.55
7.4.320.0000.00616.66
7.4.300.0000.00616.57
7.4.290.0000.00716.66
7.4.280.0040.00416.65
7.4.270.0030.00316.65
7.4.260.0070.00016.56
7.4.250.0030.00316.52
7.4.240.0030.00416.58
7.4.230.0000.00816.56
7.4.220.0070.00016.60
7.4.210.0070.01116.65
7.4.200.0030.00716.65
7.4.130.0070.01116.39
7.4.120.0030.01316.40
7.4.110.0100.00916.43
7.4.100.0130.01016.54
7.4.90.0060.01016.62
7.4.80.0030.01519.39
7.4.70.0040.01216.66
7.4.60.0060.01016.58
7.4.50.0070.00616.52
7.4.40.0090.01216.60
7.4.10.0100.01016.56
7.4.00.0050.01315.43
7.3.330.0000.00513.32
7.3.320.0060.00013.41
7.3.310.0000.00816.37
7.3.300.0030.00316.56
7.3.290.0030.00316.55
7.3.280.0060.00916.50
7.3.260.0100.00816.47
7.3.240.0120.01216.51
7.3.230.0070.01016.51
7.3.210.0180.00316.43
7.3.200.0120.00816.44
7.3.190.0060.00916.63
7.3.180.0150.00316.61
7.3.170.0120.00616.48
7.3.160.0140.00716.58
7.3.130.0120.00616.69
7.3.120.0060.01215.40
7.3.110.0080.00915.30
7.3.100.0080.00715.45
7.3.90.0040.01015.38
7.3.80.0060.00715.49
7.3.70.0080.00615.27
7.3.60.0060.00615.28
7.3.50.0100.00815.19
7.3.40.0040.00715.20
7.3.30.0050.00715.17
7.3.20.0060.01216.60
7.3.10.0090.00616.62
7.3.00.0080.00916.64
7.2.330.0180.00616.74
7.2.320.0030.01516.52
7.2.310.0090.00916.84
7.2.300.0040.01416.83
7.2.290.0100.00716.56
7.2.260.0070.01316.52
7.2.250.0070.01315.56
7.2.240.0040.01315.73
7.2.230.0100.00415.60
7.2.220.0040.01315.70
7.2.210.0110.00515.49
7.2.200.0070.00915.48
7.2.190.0080.00715.51
7.2.180.0030.00915.48
7.2.170.0060.01015.43
7.2.160.0030.00715.70
7.2.150.0080.01116.89
7.2.140.0250.01016.86
7.2.130.0050.01616.77
7.2.120.0080.00516.84
7.2.110.0040.00916.75
7.2.100.0130.00716.78
7.2.90.0060.01016.89
7.2.80.0090.00716.79
7.2.70.0140.00716.77
7.2.60.0090.00516.73
7.2.50.0130.00716.65
7.2.40.0090.00716.67
7.2.30.0280.00716.82
7.2.20.0050.00916.74
7.2.10.0050.01316.85
7.2.00.0150.00716.73
7.1.330.0090.00516.34
7.1.320.0050.00716.22
7.1.310.0060.00516.25
7.1.300.0050.01115.70
7.1.290.0100.00715.78
7.1.280.0070.01015.76
7.1.270.0080.00515.74
7.1.260.0100.00315.76
7.1.250.0110.00615.73
7.1.240.0090.00617.37
7.1.230.0030.01017.43
7.1.220.0070.01017.29
7.1.210.0070.00717.33
7.1.200.0000.01017.29
7.1.190.0070.00717.30
7.1.180.0100.00317.31
7.1.170.0070.00717.33
7.1.160.0040.01217.36
7.1.150.0070.00717.38
7.1.140.0030.01017.47
7.1.130.0070.01017.32
7.1.120.0070.00717.44
7.1.110.0070.00717.46
7.1.100.0000.01117.41
7.1.90.0070.00717.46
7.1.80.0030.00917.48
7.1.70.0030.01317.38
7.1.60.0100.00717.37
7.1.50.0090.00917.36
7.1.40.0060.01217.38
7.1.30.0060.01317.50
7.1.20.0070.00417.46
7.1.10.0120.00317.28
7.1.00.0060.00617.33

preferences:
35.78 ms | 401 KiB | 5 Q