HH\Set::filter

Returns a Set containing the values of the current Set that meet a supplied condition applied to each value

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

Only values that meet a certain criteria are affected by a call to filter(), while all values are affected by a call to map().

Guide

Parameters

  • (function(Tv): bool) $callback - The callback containing the condition to apply to the current Set values.

Returns

  • Set<Tv> - a Set containing the values after a user-specified condition is applied.

Examples

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

// Create a Set of colors that contain the letter 'l'
$l_colors = $colors->filter($color ==> strpos($color, 'l') !== false);
var_dump($l_colors);
Output
object(HH\Set)#3 (2) {
  string(4) "blue"
  string(6) "yellow"
}