(PHP 4, PHP 5)
array_splice — Удаляет часть массива и заменяет её чем-нибудь ещё
Удаляет length элементов, расположенных на расстоянии offset из массива input, и заменяет их элементами массива replacement, если он передан в качестве параметра.
Обратите внимание, что числовые ключи в массиве input не сохраняются.
Замечание: Если параметр replacement не является массивом, он будет преобразован к нему (т.е.
(array) $parameter
). Это может привести к не ожиданным результатам при использовании объекта или NULL в качестве replacement.
Входной массив.
Если параметр offset положителен, будут удалены элементы, находящиеся на расстоянии offset от начала input. Если offset отрицателен, будут удалены элементы, находящиеся на расстоянии offset от конца input.
Если параметр length опущен, будут удалены все элементы начиная с позиции offset и до конца массива. Если length указан и он положителен, то будет удалено именно столько элементов. Если же параметр length отрицателен, то конец удаляемой части элементов будет отстоять на это количество от конца массива. Совет: для того, чтобы удалить все элементы массива, начиная с позиции offset до конца массива, в то время как указан параметр replacement, используйте count($input) в качестве параметра length.
Если передан массив replacement в качестве аргумента, тогда удалённые элементы будут заменены элементами этого массива.
Если параметры offset и length таковы, что из исходного массива не будет ничего удалено, тогда элементы массива replacement будут вставлены на позицию offset. Обратите внимание, что ключи массива replacement не сохраняются.
Совет: если replacement является просто одним элементом, нет необходимости заключать его в array(), если только этот элемент сам не является массивом, объектом или NULL.
Возвращает массив, содержащий удалённые элементы.
Пример #1 Примеры использования array_splice()
<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input теперь array("red", "green")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input теперь array("red", "yellow")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
// $input теперь array("red", "orange")
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
// $input теперь array("red", "green",
// "blue", "black", "maroon")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input теперь array("red", "green",
// "blue", "purple", "yellow");
?>
Пример #2 array_splice() examples
Следующие выражения одинаково меняют значения массива $input:
<?php
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; // для массивов, где ключ равен смещению
array_splice($input, $x, 1, $y);
?>