(PECL ds >= 1.0.0)
Ds\Sequence::slice — Renvoie une sous-séquence d'une plage donnée
Créer une sous-séquence d'une plage donnée.
index
L'index auquel commence la sous-séquence.
Si positif, le sous-deque commencera à cet index dans le deque. Si négatif, le sous-deque commencera à cette distance de la fin.
length
Si une longueur est donnée et est positive, le sous-deque résultant aura jusqu'à autant de valeurs. Si la longueur entraîne un dépassement, seules les valeurs jusqu'à la fin du deque seront incluses. Si une longueur est donnée et est négative, le sous-deque s'arrêtera à autant de valeurs de la fin. Si une longueur n'est pas fournie, le sous-deque contiendra toutes les valeurs entre l'index et la fin de la séquence.
Une sous-séquence de la plage donnée.
Exemple #1 Exemple de Ds\Sequence::slice()
<?php
$sequence = new \Ds\Vector(["a", "b", "c", "d", "e"]);
// Découpe à partir de 2
print_r($sequence->slice(2));
// Découpe à partir de 1, pour une longueur de 3
print_r($sequence->slice(1, 3));
// Découpe à partir de 1 en avant
print_r($sequence->slice(1));
// Découpe à partir de 2 en arrière
print_r($sequence->slice(-2));
// Découpe de 1 à 1 de la fin
print_r($sequence->slice(1, -1));
?>
Résultat de l'exemple ci-dessus est similaire à :
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 )