(PECL ds >= 1.0.0)
Ds\Map::slice — Renvoie un sous-ensemble de la carte défini par un index de départ et une longueur
Renvoie un sous-ensemble de la carte défini par un index de départ et une longueur length.
indexL'index à partir duquel la plage commence.
Si positif, la plage commencera à cet index dans la carte. Si négatif, la plage commencera à cette distance de la fin.
lengthSi une longueur est donnée et est positive, la carte résultante aura jusqu'à autant de paires. Si une longueur est donnée et est négative, la plage s'arrêtera à autant de paires de la fin. Si la longueur entraîne un dépassement, seules les paires jusqu'à la fin de la carte seront incluses. Si une longueur n'est pas fournie, la carte résultante contiendra toutes les paires entre l'index et la fin de la carte.
Un sous-ensemble de la carte défini par un index de départ et une longueur.
Exemple #1 Exemple de Ds\Map::slice()
<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5]);
// Découpe à partir de l'index 2
print_r($map->slice(2)->toArray());
// Découpe à partir de l'index 1, pour une longueur de 3
print_r($map->slice(1, 3)->toArray());
// Découpe à partir de l'index 1
print_r($map->slice(1)->toArray());
// Découpe à partir du 2e depuis la fin
print_r($map->slice(-2)->toArray());
// Découpe de l'index 1 à 1 depuis la fin
print_r($map->slice(1, -1)->toArray());
?>Résultat de l'exemple ci-dessus est similaire à :
Array
(
[c] => 3
[d] => 4
[e] => 5
)
Array
(
[b] => 2
[c] => 3
[d] => 4
)
Array
(
[b] => 2
[c] => 3
[d] => 4
[e] => 5
)
Array
(
[d] => 4
[e] => 5
)
Array
(
[b] => 2
[c] => 3
[d] => 4
)