PHP Manual
Prev |  | Next

# array_splice

(PHP 4 , PHP 5)

array_splice -- Remove a portion of the array and replace it with something else

## Description

array array_splice ( array input, int offset [, int length [, array replacement]])

array_splice() removes the elements designated by `offset` and `length` from the `input` array, and replaces them with the elements of the `replacement` array, if supplied. It returns an array containing the extracted elements.

If `offset` is positive then the start of removed portion is at that offset from the beginning of the `input` array. If `offset` is negative then it starts that far from the end of the `input` array.

If `length` is omitted, removes everything from `offset` to the end of the array. If `length` is specified and is positive, then that many elements will be removed. If `length` is specified and is negative then the end of the removed portion will be that many elements from the end of the array. Tip: to remove everything from `offset` to the end of the array when `replacement` is also specified, use `count($input)` for `length`.

If `replacement` array is specified, then the removed elements are replaced with elements from this array. If `offset` and `length` are such that nothing is removed, then the elements from the `replacement` array are inserted in the place specified by the `offset`. Tip: if the replacement is just one element it is not necessary to put `array()` around it, unless the element is an array itself.

The following equivalences hold:

Table 1. array_splice() equivalents

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, -1)
array_unshift($input, $x, $y) | array_splice($input, 0, 0, array($x, $y))
$a[$x] = $y | array_splice($input, $x, 1, $y)

Returns the array consisting of removed elements.

Example 1. array_splice() examples
`<?php $input = array("red", "green", "blue", "yellow"); array_splice($input, 2); // $input is now array("red", "green") $input = array("red", "green", "blue", "yellow"); array_splice($input, 1, -1); // $input is now array("red", "yellow") $input = array("red", "green", "blue", "yellow"); array_splice($input, 1, count($input), "orange"); // $input is now array("red", "orange") $input = array("red", "green", "blue", "yellow"); array_splice($input, -1, 1, array("black", "maroon")); // $input is now array("red", "green", // "blue", "black", "maroon") $input = array("red", "green", "blue", "yellow"); array_splice($input, 3, 0, "purple"); // $input is now array("red", "green", // "blue", "purple", "yellow"); ?>`

See also array_slice(), unset(), and array_merge().

Prev | Home | Next
array_slice | Up | array_sum