HH\Vector::filterWithKey
Returns a Vector
containing the values of the current Vector
that meet
a supplied condition applied to its keys and values
public function filterWithKey(
(function(int, Tv): bool) $callback,
): Vector<Tv>;
filterWithKey()
's result contains only values whose key/value pairs
satisfy the provided criterion; unlike mapWithKey()
, which contains
results derived from every key/value pair in the original Vector
.
Parameters
(function(int, Tv): bool) $callback
- The callback containing the condition to apply to theVector
's key/value pairs. For each key/value pair, the key is passed as the first parameter to the callback, and the value is passed as the second parameter.
Returns
Vector<Tv>
- AVector
containing the values of the currentVector
for which a user-specified test condition returns true when applied to the corresponding key/value pairs.
Examples
$v = Vector {'red', 'green', 'blue', 'yellow', 'purple'};
// Only include elements with an odd index
$odd_elements = $v->filterWithKey(($index, $color) ==> ($index % 2) !== 0);
var_dump($odd_elements);
object(HH\Vector)#3 (2) {
[0]=>
string(5) "green"
[1]=>
string(6) "yellow"
}