(PHP 4, PHP 5)
array_splice — Удалить последовательность элементов массива и заменить её другой последовательностью
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:
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) |
Возвращает массив, содержащий удалённые элементы.
Example#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().