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.
Description
public function slice(
int $start,
int $len,
): Vector<Tv>
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.
$start
is 0based. $len
is 1based. 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
.
Return Values

Vector<Tv>
 AVector
that is a subset of the currentVector
starting at$start
up to but not including the element$start + $len
.
Examples
<?hh
namespace Hack\UserDocumentation\API\Examples\Vector\Slice;
$v = Vector {'red', 'green', 'blue', 'yellow'};
// Start at index 1 ('green') and include 3 elements
$v2 = $v>slice(1, 3);
var_dump($v2);
object(HH\Vector)#2 (3) {
[0]=>
string(5) "green"
[1]=>
string(4) "blue"
[2]=>
string(6) "yellow"
}