Returns a Vector containing the values of the current Vector up to but not including the first value that produces false when passed to the specified callback

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

That is, takes the continuous prefix of values in the current Vector for which the specified callback returns true.

The returned Vector will always be a subset (but not necessarily a proper subset) of the current Vector.


  • (function(Tv): bool) $callback



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

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

// Include values until we reach one over 10
$v2 = $v->takeWhile($x ==> $x <= 10);