Справочник по PHP : Функции работы с данными : Работа с массивами : Получение и удаление части массива
смотрим также
Материал из Справочник Web-языков
array_slice
Получение части массива.
Синтаксис:
array array_slice(array arr, int offset [, int lenght])
Функция array_slice() возвращает часть ассоциативного массива arr, начиная с элемента со смещением (номером) offset от начала и длиной lenght (если последний параметр не задан, до конца массива).
Параметры offset и lenght задаются по точно таким же правилам, как и аналогичные параметры в функции substr(). А именно, если offset>0, то последовательность будет начинаться с элемента, имеющего позицию offset от начала массива, а если <0, то отсчет производится от конца массива. Надо отметить, что первый элемент имеет нулевую позицию, а последний (-1).
Если указать length>0, то это число возвращаемых в массиве элементов, а если length<0, то это позиция последнего возвращаемого элемента в массиве arr от его конца.
Пример использования функции array_slice():
<?php $input = array("a", "b", "c", "d", "e"); $output = array_slice($input, 2); // "c", "d", "e" $output = array_slice($input, 2, -1); // "c", "d" $output = array_slice($input, -2, 1); // "d" $output = array_slice($input, 0, 3); // "a", "b", "c" ?>
Функция поддерживается PHP 4, PHP 5
array_splice
Удаляет часть массива или заменяет ее частью другого массива.
Синтаксис:
array array_splice(array arr, int offset [, int lenght [, int replacement]])
Функция array_splice(), также как и array_slice(), возвращает подмасcив arr начиная с индекса offset максимальной длины lenght, но, вместе с тем, она делает и другое полезное действие. А именно, она заменяет только что указанные элементы на то, что находится в массиве replacement (или просто удаляет, если replacement не указан).
Если offset>0, то последовательность будет начинаться с элемента, имеющего позицию offset от начала массива, а если <0, то отсчет производится от конца массива. Надо отметить, что первый элемент имеет нулевую позицию, а последний (-1).
Если указать length>0, то это число возвращаемых в массиве элементов, а если length<0, то это позиция последнего возвращаемого элемента в массиве arr от его конца.
В качестве примера укажем следующие эквивалентыне замены:
array_push($input, $x, $y) array_splice($input, count($input), 0, array($x, $y)) array_pop($input) array_splice($input, -1) array_shift($input) array_splice($input, -1) array_unshift($input, $x, $y) array_splice($input, 0, 0, array($x, $y)) $a[$x] = $y array_splice($input, $x, 1, $y)
Пример использования функции array_splice():
<?php $input = array("red", "green", "blue", "yellow"); array_splice($input, 2); // $input is now array("red", "green") $input = array("red", "green", "blue", "yellow"); array_splice($input, 1, -1); // $input is now array("red", "yellow") $input = array("red", "green", "blue", "yellow"); array_splice($input, 1, count($input), "orange"); // $input is now array("red", "orange") $input = array("red", "green", "blue", "yellow"); array_splice($input, -1, 1, array("black", "maroon")); // $input is now array("red", "green", // "blue", "black", "maroon") $input = array("red", "green", "blue", "yellow"); array_splice($input, 3, 0, "purple"); // $input is now array("red", "green", // "blue", "purple", "yellow"); ?>
Функция поддерживается PHP 4, PHP 5