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() - Удаляет переменную