# array_slice

(PHP 4, PHP 5)

array_slice — Extract a slice of the array

### Description

array array_slice ( array `$array` , int `$offset` [, int `$length` [, bool `$preserve_keys` ]] )

array_slice() returns the sequence of elements from the array `array` as specified by the `offset` and `length` parameters.

If `offset` is non-negative, the sequence will start at that offset in the `array` . If `offset` is negative, the sequence will start that far from the end of the `array` .

If `length` is given and is positive, then the sequence will have that many elements in it. If `length` is given and is negative then the sequence will stop that many elements from the end of the array. If it is omitted, then the sequence will have everything from `offset` up until the end of the `array` .

Note that array_slice() will reorder and reset the array indices by default. Since PHP 5.0.2, you can change this behaviour by setting `preserve_keys` to `TRUE`.

Example#1 array_slice() examples

`<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // returns "c", "d", and "e"
$output = array_slice($input, -2, 1); // returns "d"
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"
// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>`

The above example will output:

    Array
    (
        [0] => c
        [1] => d
    )
    Array
    (
        [2] => c
        [3] => d
    )

See also array_splice() and unset().