HH\Set::retain

Alters the current Set so that it only contains the values that meet a supplied condition on each value

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

This method is like filter(), but mutates the current Set too in addition to returning the current Set.

Future changes made to the current Set ARE reflected in the returned Set, and vice-versa.

Parameters

  • (function(Tv): bool) $callback

Returns

Examples

$s = Set {'red', 'green', 'blue', 'yellow'};

// Only keep values beginning with 'r' or 'b'
$s->retain($color ==> $color[0] === 'r' || $color[0] === 'b');
\var_dump($s);