(PHP 4, PHP 5, PHP 7, PHP 8)
array_slice — Выбирает срез массива
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. Строковые ключи сохраняются, независимо от значения этого параметра.
Возвращает срез. Если смещение больше длины массива, то будет возвращён пустой массив.
Пример #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
)