HH\Vector::at

Returns the value at the specified key in the current Vector.

Description

public function at(
  int $k,
): Tv

Returns the value at the specified key in the current Vector.

If the key is not present, an exception is thrown. If you don't want an exception to be thrown, use get() instead.

$v = $vec->at($k) is semantically equivalent to $v = $vec[$k].

Parameters

  • int $k - The key for which to retrieve the value.

Return Values

  • Tv - The value at the specified key; or an exception if the key does not exist.

Examples

This example prints the first and last values of the Vector:

<?hh

namespace Hack\UserDocumentation\API\Examples\Vector\At\ExistingKey;

$v = Vector {'red', 'green', 'blue', 'yellow'};

// Print the first element
var_dump($v->at(0));

// Print the last element
var_dump($v->at(3));
Output
string(3) "red"
string(6) "yellow"

This example throws an OutOfBoundsException because the Vector has no index 10:

<?hh

namespace Hack\UserDocumentation\API\Examples\Vector\At\MissingKey;

$v = Vector {'red', 'green', 'blue', 'yellow'};

// Index 10 doesn't exist (this will throw an exception)
var_dump($v->at(10));
Output
Fatal error: Uncaught exception 'OutOfBoundsException' with message 'Integer key 10 is out of bounds' in /user-documentation/api-examples/class.Vector/at/002-missing-key.php:8
Stack trace:
#0 /user-documentation/api-examples/class.Vector/at/002-missing-key.php(8): HH\Vector->at()
#1 {main}