HH\Vector::slice
Returns a subset of the current Vector
starting from a given key up to,
but not including, the element at the provided length from the starting key
public function slice(
int $start,
int $len,
): Vector<Tv>;
$start
is 0-based. $len
is 1-based. So slice(0,
2)
would return the
elements at keys 0 and 1.
The returned Vector
will always be a subset (but not necessarily a
proper subset) of the current Vector
. If $start
is greater than or
equal to the length of the current Vector
, the returned Vector
will
contain no elements. If $start
+ $len
is greater than or equal to the
length of the current Vector
, the returned Vector
will contain the
elements from $start
to the end of the current Vector
.
If either $start
or $len
is negative, an exception is thrown.
Parameters
int $start
- The starting key of the currentVector
at which to begin the returnedVector
.int $len
- The length of the returnedVector
.
Returns
Vector<Tv>
- AVector
that is a subset of the currentVector
starting at$start
up to but not including the element$start + $len
.
Examples
$v = Vector {'red', 'green', 'blue', 'yellow'};
// Start at index 1 ('green') and include 3 elements
$v2 = $v->slice(1, 3);
\var_dump($v2);