$data = $dataService->getData();
$arr2 = array_slice($data['data']['builder'], 0, 4);
делаю пагинацию сайта, данные беру с массива. На php-форуме посоветовали делать с помощью array_sliceпо уму нужно из базы получать нужное количество данных через limit, а не вытаскивать все данные и потом их разбивать, используя 1% от всего объема данных. В остальном kafkiansky описал примерный алгоритм достаточно подробно, все что касается реализации в коде зависит от вашего основного движка и ваших познаний в реализации алгоритмов в коде.