Возвращает подочередь из заданного диапазона

# Ds\Deque::slice

(PECL ds >= 1.0.0)

Ds\Deque::slice — Возвращает подочередь из заданного диапазона

### Описание

public function Ds\Deque::slice(int `$index`, int `$length` = ?): Ds\Deque

Возвращает подочередь из диапазона заданного начальным индексом `index` и длиной `length`.

### Список параметров

`index`

  Индекс, задающий начало диапазона.

  Если положительный, то будет отсчитываться от начала коллекции. Если отрицательный, то от конца.

`length`

  Положительное значение определяет, сколько элементов будет взято. Если количество элементов двухсторонней очереди меньше заданного значения, вернётся столько элементов, сколько есть. Отрицательное значение задаст индекс, отсчитанный от конца двухсторонней очереди, определяющий конец диапазона. Если длина не задана, то будут возвращены все элементы двухсторонней очереди от заданного индекса до конца коллекции.

### Возвращаемые значения

Подочередь из заданного диапазона.

### Примеры

Пример #1 Пример использования Ds\Deque::slice()

    <?php
    $deque = new \Ds\Deque(["a", "b", "c", "d", "e"]);

    // Slice from 2 onwards
    print_r($deque->slice(2));

    // Slice from 1, for a length of 3
    print_r($deque->slice(1, 3));

    // Slice from 1 onwards
    print_r($deque->slice(1));

    // Slice from 2 from the end onwards
    print_r($deque->slice(-2));

    // Slice from 1 to 1 from the end
    print_r($deque->slice(1, -1));
    ?>

Вывод приведённого примера будет похож на:

    Ds\Deque Object
    (
        [0] => c
        [1] => d
        [2] => e
    )
    Ds\Deque Object
    (
        [0] => b
        [1] => c
        [2] => d
    )
    Ds\Deque Object
    (
        [0] => b
        [1] => c
        [2] => d
        [3] => e
    )
    Ds\Deque Object
    (
        [0] => d
        [1] => e
    )
    Ds\Deque Object
    (
        [0] => b
        [1] => c
        [2] => d
    )

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open