Учебник РНР
Назад Вперёд

array_splice

(PHP 4)

array_splice - удаляет часть массива и замещает её чем-либо.

Описание

array array_splice (array input, int offset [, int length [, array replacement]])

array_splice() удаляет элементы, указанные смещением offset и длиной length из массива input и замещает их элементами массива replacement, если он предоставлен. Функция возвращает массив, содержащий извлечённые элементы.

Если offset положительное, то удаляемая часть отсчитывается смещением от начала массива input. Если offset отрицательное, то удаляемая часть начинается на указанную величину от конца массива input.

Если length отсутствует, удаляется всё, начиная от offset до конца массива.
Если length специфицирована и положительная, удаляется указанное количество элементов.
Если length специфицирована и отрицательная, то конец удаляемой части будет находиться на указанное количество элементов от конца массива.
Подсказка: для удаления элементов от offset до конца массива, когда replacement также специфицирован, используйте count($input) для length.

Если массив replacement специфицирован, то удаляемые элементы замещаются элементами из этого массива. Если offset и length таковы, что ничего не удаляется, то элементы массива replacement вставляются вместо специфицированных смещением offset.
Подсказка: если replacement это один элемент, нет необходимости помещать array() вокруг него, если только элемент сам по себе не является массивом.

Следующие эквиваленты:
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, 0, 1)
array_unshift ($input, $x, $y)  array_splice ($input, 0, 0, array ($x, $y))
$a[$x] = $y                     array_splice ($input, $x, 1, $y)

возвращают массив, состоящий из удалённых элементов.

Пример 1. array_splice()
$input = array ("red", "green", "blue", "yellow");
array_splice ($input, 2);
// $input это теперь массив ("red", "green")

$input = array ("red", "green", "blue", "yellow");
array_splice ($input, 1, -1);
// $input это теперь массив ("red", "yellow")

$input = array ("red", "green", "blue", "yellow");
array_splice ($input, 1, count($input), "orange");
// $input это теперь массив ("red", "orange")

$input = array ("red", "green", "blue", "yellow");
array_splice ($input, -1, 1, array("black", "maroon"));
// $input это теперь массив ("red", "green",
//          "blue", "black", "maroon")

См. также array_slice().


Назад Оглавление Вперёд
array_slice Вверх array_sum