(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
.
index
L'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.
length
Si 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]);
// Slice from 2 onwards
print_r($map->slice(2)->toArray());
// Slice from 1, for a length of 3
print_r($map->slice(1, 3)->toArray());
// Slice from 1 onwards
print_r($map->slice(1)->toArray());
// Slice from 2 from the end onwards
print_r($map->slice(-2)->toArray());
// Slice from 1 to 1 from the end
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 )