// Created on savesnippets.com ยท https://savesnippets.com/WdJvldRO4jexgc $v) { $chunks[intdiv($i++, $size)][$k] = $v; } return $chunks; } $data = [10=>'a', 20=>'b', 30=>'c', 40=>'d', 50=>'e']; print_r(chunkPreserveKeys($data, 2)); // [0 => [10=>a, 20=>b], 1 => [30=>c, 40=>d], 2 => [50=>e]]