# Ds\Map::slice

(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

### Description

public Ds\Map::slice(int `$index`, int `$length` = ?): Ds\Map

Renvoie un sous-ensemble de la carte défini par un `index` de départ et une longueur `length`.

### Liste de paramètres

`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.

### Valeurs de retour

Un sous-ensemble de la carte défini par un index de départ et une longueur.

### Exemples

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
    )