SymfonyWorld Online 2022 Winter Edition

# Ds\Sequence::slice

(PECL ds >= 1.0.0)

Ds\Sequence::slice Returns a sub-sequence of a given range

### Descripción

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

Creates a sub-sequence of a given range.

### Parámetros

`index`

The index at which the sub-sequence starts.

If positive, the sequence will start at that index in the sequence. If negative, the sequence will start that far from the end.

`length`

If a length is given and is positive, the resulting sequence will have up to that many values in it. If the length results in an overflow, only values up to the end of the sequence will be included. If a length is given and is negative, the sequence will stop that many values from the end. If a length is not provided, the resulting sequence will contain all values between the index and the end of the sequence.

### Valores devueltos

A sub-sequence of the given range.

### Ejemplos

Ejemplo #1 Ds\Sequence::slice() example

``` <?php\$sequence = new \Ds\Vector(["a", "b", "c", "d", "e"]);// Slice from 2 onwardsprint_r(\$sequence->slice(2));// Slice from 1, for a length of 3print_r(\$sequence->slice(1, 3));// Slice from 1 onwardsprint_r(\$sequence->slice(1));// Slice from 2 from the end onwardsprint_r(\$sequence->slice(-2));// Slice from 1 to 1 from the endprint_r(\$sequence->slice(1, -1));?> ```

El resultado del ejemplo sería algo similar a:

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

```