PHP Manual
Prev |  | Next

# array_splice

(PHP 4 )

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:

    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)

Returns the array consisting of removed elements.

Example 1. array_splice() examples
    $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")

See also array_slice().

Prev | Home | Next
array_slice | Up | array_sum