April 22, 2018 —John Koster
The mapWithKeys
is similar to the mapToDictionary
and mapToGroups
methods in that it accepts a $callback
function that defines an association between the returned key and value.
The mapWithKeys
method does not change the original collection; it will return a new collection instance.
1public function mapWithKeys(2 callable $callback3);
The following example demonstrates the basic usage of the mapWithKeys
method. The example will take a collection of products and return a collection of each of the products and their associated prices:
1$products = collect([ 2 [ 3 'name' => 'Office Chair', 4 'price' => 399.99, 5 'onSale' => false 6 ], 7 [ 8 'name' => 'Desk', 9 'price' => 199.34,10 'onSale' => true11 ]12]);13 14$productPrices = $products15 ->mapWithKeys(function ($item) {16 return [$item['name'] => $item['price']];17 });
After the above code has executed, the $productPrices
collection would contain values similar to the following output:
1Collection {2 #items: array [3 "Office Chair" => 399.994 "Desk" => 199.345 ]6}
∎
The following amazing people help support this site and my open source projects ♥️
If you're interesting in supporting my work and want to show up on this list, check out my GitHub Sponsors Profile.