array_splice - Удаляет часть массива и заменяет её чем-нибудь ещё
Вернуться к: Функции для работы с массивами
array_splice
(PHP 4, PHP 5)
array_splice — Удаляет часть массива и заменяет её чем-нибудь ещё
Описание
Удаляет 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() - Сливает один или большее количество массивов
Вернуться к: Функции для работы с массивами