HH\Vector::toImmVector

Description

public function toImmVector(): ImmVector<Tv>

Returns an immutable copy (ImmVector) of the current Vector.

Return Values

Examples

This example shows that toImmVector returns an immutable copy of the Vector. Mutating the original Vector doesn't affect the immutable copy.

<?hh

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

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

function expects_immutable(ImmVector $iv): void {
  var_dump($iv);
}

// Get a deep, immutable copy of $v
$immutable_v = $v->immutable();

// Add a color to the original Vector $v
$v->add('purple');

expects_immutable($immutable_v);
Output
object(HH\ImmVector)#2 (4) {
  [0]=>
  string(3) "red"
  [1]=>
  string(5) "green"
  [2]=>
  string(4) "blue"
  [3]=>
  string(6) "yellow"
}