Skip to main content

takeWhile

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 a Set containing the values of the current Set up to but not including the first value that produces false when passed to the specified callback

public function takeWhile(
(function(Tv): bool) $callback,
): Set<Tv>;

The returned Set will always be a proper subset of the current Set.

Parameters

  • (function(Tv): bool) $callback

Returns

  • Set<Tv> - A Set that is a proper subset of the current Set up until the callback returns false.

Examples

This example shows how takeWhile can be used to create a new Set by taking elements from the beginning of an existing Set:

$s = Set {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144};

// Include values until we reach one over 10
$s2 = $s->takeWhile($x ==> $x <= 10);
\var_dump($s2);