3v4l.org

run code in 500+ PHP versions simultaneously
<?php $array = [ 2 => 5, 4 => 1, 8 => 3, 0 => 17, 9 => 2, 11 => 67 ]; $ranges = [ '1-5' => ['min' => 1, 'max' => 5], '6-10' => ['min' => 6, 'max' => 10], '1000-5000' => ['min' => 1000, 'max' => 5000], ]; $result = array_map(fn() => 0, $ranges); foreach ($array as $num => $amount) { foreach ($ranges as $rangeName => ['min' => $min, 'max' => $max]) { if ($num >= $min && $num <= $max) { $result[$rangeName] += $amount; break; } } } var_export($result);

preferences:
105.85 ms | 1266 KiB | 5 Q