Как получить срез массива сохранив при этом ключи

Более правильным способом получения среза массива является использование PHP функции array_slice();

Принимает она  четыре параметра:

  • Исходный массив;
  • Начальный сдвиг позиции последовательности;
  • Длина будущего среза (необязательно) ;
  • Сохранять значения ключей или нет (необязательно, булевое значение).

Возвращает функция массив.

Пример использования

Исходный массив:

<?php
$input = array("a", "b", "c", "d", "e", "f", "g");
?>

Варианты срезов:

<?php
print_r(array_slice($input, 2, 4));
print_r(array_slice($input, 2, 4, TRUE));
?>

Результаты:

Array
(
    [0] => c
    [1] => d
    [2] => e
    [3] => f
)
Array
(
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)

Более подробную информацию о функции array_slice(); можно получить здесь.