(PHP 4, PHP 5, PHP 7)
array_slice — Выбирает срез массива
$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($input, 2); // возвращает "c", "d" и "e"
$output = array_slice($input, -2, 1); // возвращает "d"
$output = array_slice($input, 0, 3); // возвращает "a", "b" и "c"
// обратите внимание на различия в индексах массивов
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>
Результат выполнения данного примера:
Array ( [0] => c [1] => d ) Array ( [2] => c [3] => d )
Пример #2 Пример использования array_slice() с одномерным массивом
<?php
$input = array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>
Результат выполнения данного примера:
Array ( [0] => b [1] => c )
Пример #3 Пример использования array_slice() с массивом из смешанных ключей
<?php
$ar = array('a'=>'apple', 'b'=>'banana', '42'=>'pear', 'd'=>'orange');
print_r(array_slice($ar, 0, 3));
print_r(array_slice($ar, 0, 3, true));
?>
Результат выполнения данного примера:
Array ( [a] => apple [b] => banana [0] => pear ) Array ( [a] => apple [b] => banana [42] => pear )