HH\Map::mapWithKey
Returns a Map
after an operation has been applied to each key and
value in the current Map
public function mapWithKey<Tu>(
(function(Tk, Tv): Tu) $callback,
): Map<Tk, Tu>;
Every key and value in the current Map
is affected by a call to
mapWithKey()
, unlike filterWithKey()
where only values that meet a
certain criteria are affected.
The keys will remain unchanged from the current Map
to the returned
Map
. The keys are only used to help in the mapping operation.
Parameters
(function(Tk, Tv): Tu) $callback
- The callback containing the operation to apply to the currentMap
keys and values.
Returns
Map<Tk, Tu>
- aMap
containing the values after a user-specified operation on the currentMap
's keys and values is applied.
Examples
This example shows how mapWithKey
can be used to create a new Map
based on $m
's keys and values:
$m = Map {
'red' => '#ff0000',
'green' => '#00ff00',
'blue' => '#0000ff',
'yellow' => '#ffff00',
};
$css_colors = $m->mapWithKey(
($color, $hex_code) ==> "color: {$hex_code}; /* {$color} */",
);
echo implode("\n", $css_colors)."\n";
color: #ff0000; /* red */
color: #00ff00; /* green */
color: #0000ff; /* blue */
color: #ffff00; /* yellow */