(PECL ds >= 1.0.0)
Ds\Sequence::slice — Devuelve una subsecuencia de un rango dado
Crear una subsecuencia de un rango dado.
index
El índice en el que comienza la subsecuencia.
Si es positivo, el sub-deque comenzará en este índice en el deque. Si es negativo, el sub-deque comenzará a esta distancia del final.
length
Si se da una longitud y es positiva, el sub-deque resultante tendrá hasta tantos valores. Si la longitud causa un desbordamiento, solo los valores hasta el final del deque serán incluidos. Si se da una longitud y es negativa, el sub-deque se detendrá a tantos valores del final. Si no se proporciona una longitud, el sub-deque contendrá todos los valores entre el índice y el final de la secuencia.
Una subsecuencia del rango dado.
Ejemplo #1 Ejemplo de Ds\Sequence::slice()
<?php
$sequence = new \Ds\Vector(["a", "b", "c", "d", "e"]);
// Recorte a partir de 2
print_r($sequence->slice(2));
// Recorte a partir de 1, para una longitud de 3
print_r($sequence->slice(1, 3));
// Recorte a partir de 1 en adelante
print_r($sequence->slice(1));
// Recorte a partir de 2 hacia atrás
print_r($sequence->slice(-2));
// Recorte de 1 a 1 del final
print_r($sequence->slice(1, -1));
?>
El resultado del ejemplo sería algo similar a:
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 )