3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ "Jacob" => 5, "bob" => 20, "John" => 10, "Jane" => 20, "Jill" => 15, ]; $limit = 3; $result = []; foreach ($array as $k => $v) { if (isset($result[$v])) { $result[$v][$k] = $v; } elseif (count($result) < $limit) { $result[$v][$k] = $v; } else { $min = min(array_keys($result)); if ($v > $min) { $result[$v][$k] = $v; unset($result[$min]); } } } krsort($result); var_export(array_values($result));
Output for 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 0 => array ( 'bob' => 20, 'Jane' => 20, ), 1 => array ( 'Jill' => 15, ), 2 => array ( 'John' => 10, ), )

preferences:
51.62 ms | 988 KiB | 4 Q