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() - Сливает один или большее количество массивов
Вернуться к: Функции для работы с массивами