array_shift
array_splice
Array Functions
PHP Manual

# array_slice

(PHP 4, PHP 5)

array_slice — Extract a slice of the array

### Description

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

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

### Parameters

`array`

  The input array.

`offset`

  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`.

`length`

  If `length` is given and is positive, then the sequence will have up to that many elements in it. If the array is shorter than the `length`, then only the available array elements will be present. 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`.

`preserve_keys`

  Note that array_slice() will reorder and reset the numeric array indices by default. You can change this behaviour by setting `preserve_keys` to `TRUE`.

### Return Values

Returns the slice.

### Changelog

Version | Description
--- | ---
5.2.4 | The default value of the `length` parameter was changed to NULL. A NULL `length` now tells the function to use the length of `array`. Prior to this version, a NULL `length` was taken to mean a zero length (nothing will be returned).
5.0.2 | The optional `preserve_keys` parameter was added.

### Examples

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() - Remove a portion of the array and replace it with something else
- unset() - Unset a given variable
- array_chunk() - Split an array into chunks

array_shift
array_splice
Array Functions
PHP Manual