array_splice - Удаляет часть массива и заменяет её чем-нибудь ещё
Вернуться к: Функции для работы с массивами
array_splice
(PHP 4, PHP 5, PHP 7)
array_splice — Удаляет часть массива и заменяет её чем-нибудь ещё
Описание
&$input
, int $offset
[, int $length
[, mixed $replacement = array()
]] )
Удаляет length элементов, расположенных
на расстоянии offset из массива
input, и заменяет их элементами
массива replacement, если он передан в качестве параметра.
Обратите внимание, что числовые ключи в массиве input
не сохраняются.
Замечание: Если параметр
replacementне является массивом, он будет преобразован к нему (т.е.(array) $parameter). Это может привести к неожиданным результатам при использовании объекта илиNULLв качествеreplacement.
Список параметров
-
input -
Входной массив.
-
offset -
Если параметр
offsetположителен, будут удалены элементы, находящиеся на расстоянии offset от началаinput. Еслиoffsetотрицателен, будут удалены элементы, находящиеся на расстоянии offset от концаinput. -
length -
Если параметр
lengthопущен, будут удалены все элементы начиная с позицииoffsetи до конца массива. Еслиlengthуказан и он положителен, то будет удалено именно столько элементов. Если же параметрlengthотрицателен, то конец удаляемой части элементов будет отстоять на это количество от конца массива. Совет: для того, чтобы удалить все элементы массива, начиная с позицииoffsetдо конца массива, в то время как указан параметрreplacement, используйте count($input) в качестве параметраlength. -
replacement -
Если передан массив
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);
?>
Смотрите также
- array_slice() - Выбирает срез массива
- unset() - Удаляет переменную
- array_merge() - Сливает один или большее количество массивов
Вернуться к: Функции для работы с массивами