3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = array("#000000","#FFFFFF","#642424","#CC0605","#CB2821","#A2231D","#AF2B1E","#BF4435","#F54021","#C93C20","#FFDDD6","#F44611","#F75E25","#C1876B","#FABFA1","#734222","#FF7514","#FFCC99","#8A6642","#FDF4E3","#F3A505","#C6A664","#F4A900","#C2B078","#F5CB21","#E6D690","#FAD201","#E1CC4F","#F3DA0B","#7E7B52","#FFFCC1","#B8B799","#F8F32B","#FFFF99","#EDFF21","#B8CE3B","#424632","#343B29","#85BD3E","#31372B","#79BB51","#89AC76","#4FAE2E","#C0DEBC","#2D572C","#8D948D","#1CA744","#1E5945","#39B49F","#3F888F","#439AA4","#256D7B","#434B4D","#293133","#008FB7","#0D3A4D","#D0E6F1","#474B4E","#2271B3","#0E294B","#0B2C59","#0E3987","#4170CC","#1D1E33","#A49FC7","#6C3EC3","#261448","#986DE9","#37225D","#260B3E","#D8C6DE","#6C4675","#FFA3FF","#E54EE5","#6D3F5B","#D569A7","#A03472","#9E1A65","#421C31","#CF3476","#DE4C8A","#4A192C","#641C34","#F8C5CE","#EA899A","#412227","#5E2129","#9B111E","#75151E","#D60B11","#D36E70","#D53032" );   function cf_sort_hex_colors($colors) { $map = array( '0' => 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6, '7' => 7, '8' => 8, '9' => 9, 'a' => 10, 'b' => 11, 'c' => 12, 'd' => 13, 'e' => 14, 'f' => 15, ); $c = 0; $sorted = array(); foreach ($colors as $color) { $color = strtolower(str_replace('#', '', $color)); if (strlen($color) == 6) { $condensed = ''; $i = 0; foreach (preg_split('//', $color, -1, PREG_SPLIT_NO_EMPTY) as $char) { if ($i % 2 == 0) { $condensed .= $char; } $i++; } $color_str = $condensed; } $value = 0; foreach (preg_split('//', $color_str, -1, PREG_SPLIT_NO_EMPTY) as $char) { $value += intval($map[$char]); } $value = str_pad($value, 5, '0', STR_PAD_LEFT); $sorted['_'.$value.$c] = '#'.$color; $c++; } ksort($sorted); return $sorted;} var_dump(cf_sort_hex_colors($a));

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)
5.4.320.0050.03712.55
5.4.310.0050.04212.55
5.4.300.0070.04712.55
5.4.290.0080.04512.55
5.4.280.0060.03512.45
5.4.270.0060.03712.44
5.4.260.0090.03712.44
5.4.250.0030.04112.45
5.4.240.0060.03512.44
5.4.230.0070.03512.44
5.4.220.0070.04112.44
5.4.210.0080.03912.43
5.4.200.0060.04112.43
5.4.190.0060.03512.43
5.4.180.0090.03112.43
5.4.170.0090.03512.44
5.4.160.0070.03712.43
5.4.150.0060.03512.43
5.4.140.0050.03712.13
5.4.130.0060.03512.11
5.4.120.0040.03712.07
5.4.110.0030.03712.07
5.4.100.0050.03812.07
5.4.90.0050.03712.06
5.4.80.0080.03812.06
5.4.70.0040.03712.06
5.4.60.0050.03512.06
5.4.50.0060.03412.03
5.4.40.0060.04012.02
5.4.30.0080.03312.01
5.4.20.0080.03312.00
5.4.10.0040.03712.02
5.4.00.0050.03611.50
5.3.290.0040.04112.80
5.3.280.0070.03612.71
5.3.270.0050.03912.72
5.3.260.0050.03912.72
5.3.250.0050.03712.72
5.3.240.0060.03612.72
5.3.230.0090.03612.71
5.3.220.0060.03712.68
5.3.210.0060.03812.68
5.3.200.0070.04212.68
5.3.190.0060.04212.68
5.3.180.0050.03812.67
5.3.170.0020.03912.67
5.3.160.0080.03312.67
5.3.150.0060.03612.67
5.3.140.0070.04012.66
5.3.130.0050.04012.65
5.3.120.0100.03512.66
5.3.110.0080.04012.66
5.3.100.0070.03812.11
5.3.90.0070.03412.08
5.3.80.0070.03312.08
5.3.70.0080.03312.08
5.3.60.0070.03412.06
5.3.50.0050.03612.00
5.3.40.0040.03812.00
5.3.30.0050.03511.96
5.3.20.0070.03411.74
5.3.10.0020.03711.71
5.3.00.0060.03511.70
5.2.170.0050.0319.20
5.2.160.0070.0309.20
5.2.150.0060.0349.21
5.2.140.0050.0309.20
5.2.130.0080.0279.16
5.2.120.0070.0259.16
5.2.110.0040.0309.16
5.2.100.0060.0299.16
5.2.90.0020.0319.16
5.2.80.0030.0319.16
5.2.70.0060.0289.15
5.2.60.0030.0319.11
5.2.50.0050.0349.08
5.2.40.0050.0309.06
5.2.30.0040.0299.03
5.2.20.0040.0299.02
5.2.10.0030.0298.94
5.2.00.0070.0278.80
5.1.60.0040.0308.09
5.1.50.0050.0238.09
5.1.40.0010.0288.07
5.1.30.0050.0268.41
5.1.20.0030.0288.44
5.1.10.0030.0278.16
5.1.00.0040.0268.16
5.0.50.0020.0216.64
5.0.40.0020.0206.50
5.0.30.0030.0316.31
5.0.20.0040.0196.28
5.0.10.0030.0226.26
5.0.00.0070.0346.25
4.4.90.0030.0164.78
4.4.80.0040.0174.76
4.4.70.0010.0194.75
4.4.60.0050.0164.75
4.4.50.0030.0184.77
4.4.40.0040.0254.71
4.4.30.0030.0154.75
4.4.20.0030.0204.85
4.4.10.0020.0154.85
4.4.00.0020.0244.76
4.3.110.0050.0184.67
4.3.100.0040.0164.66
4.3.90.0040.0174.63
4.3.80.0020.0234.58
4.3.70.0020.0164.63
4.3.60.0050.0124.63
4.3.50.0060.0124.63
4.3.40.0020.0254.54
4.3.30.0010.0213.30
4.3.20.0010.0223.28
4.3.10.0010.0173.23
4.3.00.0100.01315.97

preferences:
143.85 ms | 1394 KiB | 7 Q