array_slice

(PHP 4, PHP 5, PHP 7)

array_sliceВыбирает срез массива

Описание

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )

array_slice() возвращает последовательность элементов массива array, определённую параметрами offset и length.

Список параметров

array

Входной массив.

offset

Если параметр offset неотрицателен, последовательность начнётся на указанном расстоянии от начала array. Если offset отрицателен, последовательность начнётся на расстоянии указанном расстоянии от конца array.

length

Если в эту функцию передан положительный параметр length, последовательность будет включать количество элементов меньшее или равное length. Если количество элементов массива меньше чем параметр length, то только доступные элементы массива будут присутствовать. Если в эту функцию передан отрицательный параметр length, последовательность остановится на указанном расстоянии от конца массива. Если он опущен, последовательность будет содержать все элементы с offset до конца массива array.

preserve_keys

Обратите внимание, что по умолчанию array_slice() сбрасывает ключи массива. Вы можете переопределить это поведение, установив параметр preserve_keys в TRUE.

Возвращаемые значения

Возвращает срез. Если смещение больше длины массива, то будет возвращен пустой массив.

Список изменений

Версия Описание
5.2.4 Значение параметра length по умолнанию изменено на NULL. Значение NULL в качестве length теперь означает, что в качестве этого значения будет использована длина массива array. До этой версии, NULL в параметре length означал 0. Т.е. ничего не возвращалось.
5.0.2 Добавлен необязательный параметр preserve_keys.

Примеры

Пример #1 Пример использования array_slice()

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

$output array_slice($input2);      // возвращает "c", "d", и "e"
$output array_slice($input, -21);  // возвращает "d"
$output array_slice($input03);   // возвращает "a", "b", и "c"

// заметьте разницу в индексах массивов
print_r(array_slice($input2, -1));
print_r(array_slice($input2, -1true));
?>

Результат выполнения данного примера:

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

Смотрите также

  • array_splice() - Удаляет часть массива и заменяет её чем-нибудь ещё
  • unset() - Удаляет переменную
  • array_chunk() - Разбивает массив на части