Ds\Deque::slice

(PECL ds >= 1.0.0)

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

Описание

public 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(13));

// 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
)