HH\Vector::__construct

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

public function __construct(
  ?Traversable<Tv> $iterable = NULL,
): void;

Parameters

  • ?Traversable<Tv> $iterable = NULL

Returns

  • void

Examples

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

// 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:

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