Каков наилучший способ сделать это?
Использовать array_slice ()
Это пример из руководства PHP: array_slice
$input = array("a", "b", "c", "d", "e"); $output = array_slice($input, 0, 3); // returns "a", "b", and "c"
Существует лишь небольшая проблема
Если индексы массива имеют смысл для вас, помните, что array_slice
сбросит и изменит порядок индексов числовых массивов. Чтобы избежать этого, вам необходимо установить флаг preserve_keys
равным true
. (4-й параметр, доступный с версии 5.0.2).
Пример:
$output = array_slice($input, 2, 3, true);
Вывод:
array([3]=>'c', [4]=>'d', [5]=>'e');
Вы можете использовать array_slice как:
$sliced_array = array_slice($array,0,$N);
В текущем порядке? Я бы сказал array_slice () . Поскольку это встроенная функция, она будет быстрее, чем цикл через массив, сохраняя при этом индекс инкрементирования до N.