array_splice
(PHP 4, PHP 5, PHP 7)
array_splice — Удаляет часть массива и заменяет её чем-нибудь ещё
Описание
&$array
, int $offset
, int|null $length
= null
, mixed $replacement
= []
) : array
Удаляет length
элементов, расположенных на расстоянии
offset
из массива array
, и заменяет их
элементами массива replacement
, если он передан в качестве
параметра.
Замечание:
Обратите внимание, что числовые ключи в массиве
array
не сохраняются.
Замечание: Если параметр
replacement
не является массивом, он будет преобразован к нему (то есть(array) $parameter
). Это может привести к неожиданным результатам при использовании объекта илиnull
в качествеreplacement
.
Список параметров
-
array
-
Входной массив.
-
offset
-
Если параметр
offset
положителеный, будут удалены элементы, находящиеся на расстоянии offset от началаarray
.Если
offset
отрицателеный, будут удалены элементы, находящиеся на расстоянии offset от концаinput
. -
length
-
Если параметр
length
опущен, будут удалены все элементы начиная с позицииoffset
и до конца массива.Если
length
указан и он положителен, то будет удалено именно столько элементов.Если параметр
length
отрицателен, то конец удаляемой части элементов будет отстоять на это количество от конца массива.Если
length
задан как 0, ничего удалено не будет.ПодсказкаСовет: для того, чтобы удалить все элементы массива, начиная с позиции
offset
до конца массива, в то время как указан параметрreplacement
, используйтеcount($input)
в качестве параметраlength
. -
replacement
-
Если передан массив
replacement
в качестве аргумента, тогда удалённые элементы будут заменены элементами этого массива.Если параметры
offset
иlength
таковы, что из исходного массива не будет ничего удалено, тогда элементы массиваreplacement
будут вставлены на позициюoffset
.Замечание:
Обратите внимание, что ключи массива
replacement
не сохраняются.Совет: если
replacement
является просто одним элементом, нет необходимости заключать его вarray()
или квадратные скобки, если только этот элемент сам не является массивом, объектом илиnull
.
Возвращаемые значения
Возвращает массив, содержащий удалённые элементы.
Список изменений
Версия | Описание |
---|---|
8.0.0 |
length теперь допускает значение null.
|
Примеры
Пример #1 Примеры использования array_splice()
<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
var_dump($input);
?>
Результат выполнения данного примера:
array(2) { [0]=> string(3) "red" [1]=> string(5) "green" } array(2) { [0]=> string(3) "red" [1]=> string(6) "yellow" } array(2) { [0]=> string(3) "red" [1]=> string(6) "orange" } array(5) { [0]=> string(3) "red" [1]=> string(5) "green" [2]=> string(4) "blue" [3]=> string(5) "black" [4]=> string(6) "maroon" }
Пример #2 Примеры использования array_splice()
Следующие выражения эквивалентны:
<?php
// добавить два элемента в $input
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
// удалить последний элемент из $input
array_pop($input);
array_splice($input, -1);
// удалить первый элемент из $input
array_shift($input);
array_splice($input, 0, 1);
// добавить элемент в начало $input
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
// заменить в $input элемент с индексом $x на значение $y
$input[$x] = $y; // для массивов, где ключ равен смещению
array_splice($input, $x, 1, $y);
?>
Смотрите также
- array_merge() - Сливает один или большее количество массивов
- array_slice() - Выбирает срез массива
- unset() - Удаляет переменную