(PECL ds >= 1.0.0)
Ds\Set::slice — Возвращает поднабор из заданного диапазона
Возвращает поднабор из диапазона, заданного начальным индексом
index
и длиной length
.
index
Индекс, задающий начало диапазона.
Если положительный, то будет отсчитываться от начала коллекции. Если отрицательный, то от конца.
length
Положительное значение определяет, сколько элементов будет взято. Если количество элементов коллекции меньше заданного значения, вернётся столько элементов, сколько есть. Отрицательное значение задаст индекс, отсчитанный от конца коллекции, определяющий конец диапазона. Если длина не задана, то будут возвращены все элементы коллекции от заданного индекса до конца коллекции.
Под-коллекция из заданного диапазона.
Пример #1 Пример использования Ds\Set::slice()
<?php
$set = new \Ds\Set(["a", "b", "c", "d", "e"]);
// Поднабор с индекса 2
print_r($set->slice(2));
// Поднабор с индекса 1 с длиной 3
print_r($set->slice(1, 3));
// Поднабор с индекса 1
print_r($set->slice(1));
// Поднабор с индекса 2 с конца
print_r($set->slice(-2));
// Поднабор от индекса 1 с начала до индекса 1 с конца
print_r($set->slice(1, -1));
?>
Вывод приведённого примера будет похож на:
Ds\Set Object ( [0] => c [1] => d [2] => e ) Ds\Set Object ( [0] => b [1] => c [2] => d ) Ds\Set Object ( [0] => b [1] => c [2] => d [3] => e ) Ds\Set Object ( [0] => d [1] => e ) Ds\Set Object ( [0] => b [1] => c [2] => d )