HH\Vector::__construct

Description

public function __construct(
  ?Traversable<Tv> $it,
): void

Creates a Vector from the given Traversable, or an empty Vector if null is passed.

Parameters

Examples

This example shows how to create a Vector from various Traversables:

<?hh

namespace Hack\UserDocumentation\API\Examples\Vector\__construct;

// Create a new Vector from an array
$v = new Vector(array('red', 'green', 'blue', 'yellow'));
var_dump($v);

// Create a new Vector from a Set
$v = new Vector(Set {'red', 'green', 'blue', 'yellow'});
var_dump($v);

// Create a new Vector from the values of a Map
$v = new Vector(Map {
  'red' => 'red',
  'green' => 'green',
  'blue' => 'blue',
  'yellow' => 'yellow',
});
var_dump($v);
Output
object(HH\Vector)#1 (4) {
  [0]=>
  string(3) "red"
  [1]=>
  string(5) "green"
  [2]=>
  string(4) "blue"
  [3]=>
  string(6) "yellow"
}
object(HH\Vector)#2 (4) {
  [0]=>
  string(3) "red"
  [1]=>
  string(5) "green"
  [2]=>
  string(4) "blue"
  [3]=>
  string(6) "yellow"
}
object(HH\Vector)#3 (4) {
  [0]=>
  string(3) "red"
  [1]=>
  string(5) "green"
  [2]=>
  string(4) "blue"
  [3]=>
  string(6) "yellow"
}

This example shows how passing null to the constructor creates an empty Vector:

<?hh

namespace Hack\UserDocumentation\API\Examples\Vector\__construct\FromNull;

// An empty Vector is created if null is provided
$v = new Vector(null);
var_dump($v);
Output
object(HH\Vector)#1 (0) {
}