3v4l.org

run code in 300+ PHP versions simultaneously
<?php function sortBy ( $arr, $sortKey ) { /*Временный массив для сотритовки по нужному ключу*/ $tempArr = array(); /*Возвращаемый массив*/ $returnArr = array(); /*Перебор всего массива*/ foreach ( $arr AS $key=>$value ) { /*Запись в массив значений ключа по которому быдет выполнена сортировка*/ $tempArr[$key] = $value[$sortKey]; } /*Сортировка значений с сохранением ключей*/ asort ( $tempArr ); /*Установка указателя массива не первый элемент*/ reset ( $tempArr ); /*Перебор всего временного массива*/ foreach ( $tempArr AS $key=>$value ) { /*Формирование возвращаемого массива*/ $returnArr[] = $arr[$key]; } return $returnArr; } function sortByObj ( $arr, $sortKey ) { /*Временный массив для сотритовки по нужному ключу*/ $tempArr = array(); /*Возвращаемый массив*/ $returnArr = array(); /*Перебор всего массива*/ foreach ( $arr AS $key=>$value ) { /*Запись в массив значений ключа по которому быдет выполнена сортировка*/ $tempArr[$key] = $value->{$sortKey}; } /*Сортировка значений с сохранением ключей*/ asort ( $tempArr ); /*Установка указателя массива не первый элемент*/ reset ( $tempArr ); /*Перебор всего временного массива*/ foreach ( $tempArr AS $key=>$value ) { /*Формирование возвращаемого массива*/ $returnArr[] = $arr[$key]; } return $returnArr; } /*Ключ по которому будет выполнена сортировка*/ $sortKey = "name"; /*Второй ключ присутствующий в массиве*/ $secondKey = "data"; $arr[1]['data'] = "2010"; $arr[1]['name'] = "Петя"; $arr[2]['data'] = "2012"; $arr[2]['name'] = "Вася"; $arr[3]['data'] = "2011"; $arr[3]['name'] = "Саша"; $ar = array(); $obj = new stdClass(); $obj->ID = 1; $obj->Name = 'Дискета'; $ar[] = $obj; $obj = new stdClass(); $obj->ID = 3; $obj->Name = 'E-token'; $ar[] = $obj; $obj = new stdClass(); $obj->ID = 2; $obj->Name = 'Rutoken'; $ar[] = $obj; $obj = new stdClass(); $obj->ID = 4; $obj->Name = 'Флеш накопитель'; $ar[] = $obj; $sortName = 'Name'; $sf = 'ID'; /* [0] => stdClass Object ( [ID] => 1 [Name] => Дискета ) [1] => stdClass Object ( [ID] => 3 [Name] => E-token ) [2] => stdClass Object ( [ID] => 2 [Name] => Rutoken ) [3] => stdClass Object ( [ID] => 4 [Name] => Флеш накопитель ) */ $sortedArr = sortBy( $arr, $sortKey ); foreach ( $sortedArr AS $key=>$value ) { echo $key.' = '. $value[$sortKey] . " - " . $value[$secondKey] . "<br />"; } echo('<br>'."\n\n"); $sArr = sortBy( $ar, $sortName ); print_r($sArr);

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.0130.00618.80
8.3.50.0150.00521.99
8.3.40.0110.00418.96
8.3.30.0070.00718.84
8.3.20.0040.00418.80
8.3.10.0000.00821.04
8.3.00.0060.00321.77
8.2.180.0040.01216.75
8.2.170.0130.00622.96
8.2.160.0100.00322.12
8.2.150.0090.00924.18
8.2.140.0080.00024.66
8.2.130.0040.00426.16
8.2.120.0040.00420.98
8.2.110.0060.00322.25
8.2.100.0000.01217.78
8.2.90.0000.00819.30
8.2.80.0050.00517.97
8.2.70.0050.00317.50
8.2.60.0040.00418.05
8.2.50.0040.00418.22
8.2.40.0000.00820.42
8.2.30.0000.00719.46
8.2.20.0000.00717.73
8.2.10.0030.00617.90
8.2.00.0050.00517.84
8.1.280.0070.01425.92
8.1.270.0040.00423.99
8.1.260.0180.00426.35
8.1.250.0080.00028.09
8.1.240.0000.00922.58
8.1.230.0040.00722.13
8.1.220.0040.00417.74
8.1.210.0070.00318.77
8.1.200.0060.00317.35
8.1.190.0000.00817.38
8.1.180.0030.00618.10
8.1.170.0000.00818.71
8.1.160.0000.00718.94
8.1.150.0000.00821.96
8.1.140.0040.00417.38
8.1.130.0070.00017.86
8.1.120.0040.00417.45
8.1.110.0040.00417.38
8.1.100.0050.00317.51
8.1.90.0060.00317.40
8.1.80.0080.00017.48
8.1.70.0000.00717.49
8.1.60.0080.00017.63
8.1.50.0070.00017.58
8.1.40.0090.00017.50
8.1.30.0020.00517.73
8.1.20.0000.00917.70
8.1.10.0000.00717.55
8.1.00.0000.00817.52
8.0.300.0070.00018.77
8.0.290.0040.00416.63
8.0.280.0030.00318.51
8.0.270.0000.00717.40
8.0.260.0070.00016.91
8.0.250.0080.00017.11
8.0.240.0080.00217.08
8.0.230.0070.00317.06
8.0.220.0070.00016.87
8.0.210.0000.00717.05
8.0.200.0040.00417.06
8.0.190.0040.00316.95
8.0.180.0000.00717.05
8.0.170.0040.00417.06
8.0.160.0030.00616.95
8.0.150.0040.00416.97
8.0.140.0000.01216.85
8.0.130.0000.00613.40
8.0.120.0050.00316.86
8.0.110.0050.00216.95
8.0.100.0000.00717.01
8.0.90.0080.00017.02
8.0.80.0060.00916.96
8.0.70.0000.00717.05
8.0.60.0040.00416.92
8.0.50.0040.00417.02
8.0.30.0090.00917.16
8.0.20.0110.00917.41
8.0.10.0040.00416.91
8.0.00.0130.01116.88
7.4.330.0050.00016.77
7.4.320.0050.00416.66
7.4.300.0000.00616.56
7.4.290.0040.00416.63
7.4.280.0020.00516.64
7.4.270.0030.00316.64
7.4.260.0000.00513.25
7.4.250.0050.00316.52
7.4.240.0040.00416.65
7.4.230.0050.00216.73
7.4.220.0040.01516.42
7.4.210.0090.00716.61
7.4.200.0030.00316.41
7.4.190.0050.00216.72
7.4.160.0100.00616.59
7.4.150.0060.01217.40
7.4.140.0090.00917.86
7.4.130.0130.00816.48
7.4.120.0080.01016.57
7.4.110.0100.00716.55
7.4.100.0110.00916.59
7.4.90.0100.01316.60
7.4.80.0130.00319.39
7.4.70.0060.01616.61
7.4.60.0120.00616.60
7.4.50.0060.00316.46
7.4.40.0070.01022.77
7.4.30.0100.01416.57
7.4.00.0090.00915.04
7.3.330.0000.00613.47
7.3.320.0030.00413.54
7.3.310.0030.00316.36
7.3.300.0030.00316.44
7.3.290.0070.00716.45
7.3.280.0090.01116.49
7.3.270.0100.01017.40
7.3.260.0110.00918.24
7.3.250.0130.00816.45
7.3.240.0090.00916.54
7.3.230.0100.01016.54
7.3.210.0060.01816.54
7.3.200.0050.01119.39
7.3.190.0170.00416.59
7.3.180.0060.01116.38
7.3.170.0100.00716.54
7.3.160.0150.00616.51
7.3.120.0100.00714.96
7.2.330.0140.00316.43
7.2.320.0120.00916.75
7.2.310.0170.00716.61
7.2.300.0100.00716.81
7.2.290.0130.00316.81
7.2.60.0070.00316.99
7.2.00.0060.00619.11
7.1.200.0060.00615.90
7.1.100.0000.01418.26
7.1.70.0060.00916.91
7.1.60.0110.01419.40
7.1.50.0030.01716.91
7.1.00.0000.07022.54
7.0.200.0000.00716.60
7.0.140.0070.07021.98
7.0.100.0070.08020.01
7.0.90.0100.06719.96
7.0.80.0030.09319.98
7.0.70.0070.08319.93
7.0.60.0100.06319.91
7.0.50.0170.07020.41
7.0.40.0000.09020.12
7.0.30.0170.06720.14
7.0.20.0070.05320.11
7.0.10.0130.07720.17
7.0.00.0130.07720.09
5.6.280.0030.07020.92
5.6.250.0130.05320.67
5.6.240.0030.08320.61
5.6.230.0070.08020.70
5.6.220.0000.07720.63
5.6.210.0130.07720.63
5.6.200.0100.07021.06
5.6.190.0030.06321.05
5.6.180.0070.07321.05
5.6.170.0170.08021.03
5.6.160.0130.07021.10
5.6.150.0100.05020.96
5.6.140.0030.08721.14
5.6.130.0170.06721.09
5.6.120.0100.08021.06
5.6.110.0070.08320.96
5.6.100.0100.07321.11
5.6.90.0170.07321.14
5.6.80.0130.07720.36
5.6.70.0030.08720.56
5.6.60.0100.06020.43
5.6.50.0070.04020.48
5.6.40.0200.04020.34
5.6.30.0070.08020.38
5.6.20.0030.08320.32
5.6.10.0030.06320.32
5.6.00.0100.08020.40
5.5.380.0130.07320.37
5.5.370.0030.07720.51
5.5.360.0000.08320.50
5.5.350.0000.06320.46
5.5.340.0070.07020.82
5.5.330.0070.07720.88
5.5.320.0030.09020.95
5.5.310.0130.07720.74
5.5.300.0130.04020.93
5.5.290.0130.07720.81
5.5.280.0030.08720.88
5.5.270.0100.04720.89
5.5.260.0030.08320.84
5.5.250.0000.08720.72
5.5.240.0070.03720.27
5.5.230.0070.08320.17
5.5.220.0030.06020.15
5.5.210.0030.05320.28
5.5.200.0000.05320.29
5.5.190.0070.08020.29
5.5.180.0100.04720.25
5.5.160.0230.06020.30
5.5.150.0200.03320.16
5.5.140.0070.04720.26
5.5.130.0030.05320.25
5.5.120.0030.07320.11
5.5.110.0030.08019.98
5.5.100.0130.06720.18
5.5.90.0170.03720.09
5.5.80.0100.07720.09
5.5.70.0030.07720.08
5.5.60.0100.07320.18
5.5.50.0070.09019.98
5.5.40.0070.07720.15
5.5.30.0130.05320.16
5.5.20.0030.08020.08
5.5.10.0000.08720.07
5.5.00.0100.07020.03
5.4.450.0070.07719.28
5.4.440.0200.04019.23
5.4.430.0030.07719.52
5.4.420.0100.05719.20
5.4.410.0100.07719.24
5.4.400.0070.06318.85
5.4.390.0070.06019.18
5.4.380.0030.08319.14
5.4.370.0030.04319.18
5.4.360.0070.07719.23
5.4.350.0030.06319.09
5.4.340.0000.09719.16
5.4.320.0170.07719.23
5.4.310.0170.06319.21
5.4.300.0030.04718.84
5.4.290.0030.08019.02
5.4.280.0100.07719.16
5.4.270.0200.06319.22
5.4.260.0070.04318.87
5.4.250.0130.06718.94
5.4.240.0030.04719.04
5.4.230.0030.07318.90
5.4.220.0030.07018.95
5.4.210.0100.07319.04
5.4.200.0100.06719.12
5.4.190.0100.07319.11
5.4.180.0100.07019.08
5.4.170.0070.05719.12
5.4.160.0130.05019.16
5.4.150.0070.07719.03
5.4.140.0030.07716.53
5.4.130.0100.07016.23
5.4.120.0030.07716.48
5.4.110.0100.07316.49
5.4.100.0130.07016.32
5.4.90.0130.06716.49
5.4.80.0100.07016.40
5.4.70.0070.06716.48
5.4.60.0070.07716.37
5.4.50.0130.06016.45
5.4.40.0100.06716.36
5.4.30.0100.06716.40
5.4.20.0200.06016.36
5.4.10.0100.07316.33
5.4.00.0100.07015.88
5.3.290.0070.07314.68
5.3.280.0070.06014.57
5.3.270.0070.07014.59
5.3.260.0070.08014.69
5.3.250.0100.06014.62
5.3.240.0000.08014.65
5.3.230.0030.08314.72
5.3.220.0070.06314.59
5.3.210.0030.08014.52
5.3.200.0000.05314.57
5.3.190.0030.05714.59
5.3.180.0100.07714.52
5.3.170.0030.03714.65
5.3.160.0000.08014.64
5.3.150.0100.06714.61
5.3.140.0070.07314.51
5.3.130.0070.07314.57
5.3.120.0130.07014.64
5.3.110.0030.05714.52
5.3.100.0100.07014.15
5.3.90.0100.07013.99
5.3.80.0100.07014.15
5.3.70.0070.07714.17
5.3.60.0170.06313.99
5.3.50.0070.07314.03
5.3.40.0070.07314.02
5.3.30.0100.04013.86
5.3.20.0030.07313.72
5.3.10.0030.06013.74
5.3.00.0030.07313.60
5.2.170.0100.06011.18
5.2.160.0000.04011.07
5.2.150.0030.06311.17
5.2.140.0030.06011.25
5.2.130.0000.04011.15
5.2.120.0030.06011.18
5.2.110.0130.05011.11
5.2.100.0100.05311.15
5.2.90.0030.06011.13
5.2.80.0130.05711.13
5.2.70.0070.05311.11
5.2.60.0030.06311.13
5.2.50.0000.05311.09
5.2.40.0030.05311.04
5.2.30.0030.06311.00
5.2.20.0030.06310.89
5.2.10.0030.03310.79
5.2.00.0030.06310.76
5.1.60.0170.03710.00
5.1.50.0030.05310.10
5.1.40.0130.04310.10
5.1.30.0030.05710.31
5.1.20.0030.03310.33
5.1.10.0100.05010.17
5.1.00.0030.05710.18
5.0.50.0000.0508.58
5.0.40.0000.0478.53
5.0.30.0030.0478.51
5.0.20.0000.0408.51
5.0.10.0030.0438.51
5.0.00.0030.0638.51
4.4.90.0000.0378.51
4.4.80.0030.0338.51
4.4.70.0000.0378.51
4.4.60.0030.0378.51
4.4.50.0070.0308.51
4.4.40.0030.0508.51
4.4.30.0130.0278.51
4.4.20.0000.0408.51
4.4.10.0000.0408.51
4.4.00.0030.0378.51
4.3.110.0030.0378.51
4.3.100.0030.0338.51
4.3.90.0030.0278.51
4.3.80.0000.0538.51
4.3.70.0000.0238.51
4.3.60.0070.0308.51
4.3.50.0000.0338.51
4.3.40.0030.0508.51
4.3.30.0000.0378.51
4.3.20.0000.0308.51
4.3.10.0030.0308.51
4.3.00.0030.0338.51

preferences:
43.51 ms | 401 KiB | 5 Q