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