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