HH\Vector::at

Returns the value at the specified key in the current Vector

Description

public function at(
  int $k,
): Tv;

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

  • $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}