Руководство по PHP
Пред. |  | След.

# array_splice

(PHP 4, PHP 5)

array_splice -- Удалить последовательность элементов массива и заменить её другой последовательностью

## Оисание

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

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

Если параметр `offset` положителен, будут удалены элементы, находящиеся на расстоянии offset от начала `array`. Если `offset` отрицателен, будут удалены элементы, находящиеся на расстоянии offset от конца `array`.

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

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

Последующие выражения произведут одинаковые изменения в массиве `$input`:

Таблица 1. Эквиваленты array_splice()

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))
$input[$x] = $y // в случае, если key равен offset | array_splice($input, $x, 1, $y)

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

Пример 1. Примеры использования 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");
?>`

См. также array_slice(), unset() и array_merge().

Пред. | Начало | След.
array_slice | Уровень выше | array_sum