HH\Vector::mapWithKey

Returns a Vector containing the results of applying an operation to each key/value pair in the current Vector

public function mapWithKey<Tu>(
  (function(int, Tv): Tu) $callback,
): Vector<Tu>;

mapWithKey()'s result contains a value for every key/value pair in the current Vector; unlike filterWithKey(), where only values whose key/value pairs meet a certain criterion are included in the resulting Vector.

Parameters

  • (function(int, Tv): Tu) $callback - The callback containing the operation to apply to the current Vector's key/value pairs.

Returns

  • Vector<Tu> - A Vector containing the results of applying a user-specified operation to each key/value pair of the current Vector in turn.

Examples

This example shows how mapWithKey can be used to create a new Vector based on $v's keys and values:

$v = Vector {'red', 'green', 'blue', 'yellow'};

$sentences = $v->mapWithKey(($index, $color) ==> "Color at {$index}: {$color}");

echo implode("\n", $sentences)."\n";
Output
Color at 0: red
Color at 1: green
Color at 2: blue
Color at 3: yellow