Skip to main content

toImmVector

Note

This is a point-in-time snapshot of the API documentation from January 2026. Going forward, we will not be maintaining a public copy of these references, and recommend users to refer to the built-in signature helpers available in the Hack LSP instead for complete and up-to-date information.

Returns an immutable copy (ImmVector) of the current Vector

public function toImmVector(): ImmVector<Tv>;

Returns

  • ImmVector<Tv> - A Vector that is an immutable copy of the current Vector.

Examples

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

function expects_immutable(ImmVector<mixed> $iv): void {
\var_dump($iv);
}

<<__EntryPoint>>
function basic_usage_main(): void {
$v = Vector {'red', 'green', 'blue', 'yellow'};

// 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);
}