array_slice

(PHP 4, PHP 5, PHP 7)

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

Описание

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

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

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

array

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

offset

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

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

Замечание:

Обратите внимание, что параметр offset обозначает положение в массиве, а не ключ.

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
)

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

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

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

Array
(
    [0] => b
    [1] => c
)

Пример #3 Пример использования array_slice() с массивом из смешанных ключей

<?php
$ar 
= array('a'=>'apple''b'=>'banana''42'=>'pear''d'=>'orange');
print_r(array_slice($ar03));
print_r(array_slice($ar03true));
?>

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

Array
(
    [a] => apple
    [b] => banana
    [0] => pear
)
Array
(
    [a] => apple
    [b] => banana
    [42] => pear
)

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

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