By John Koster
map(callable $callback)
The map
method applies a given $callback
to each item in the collection. The $callback
can modify the item which will be added to a new collection. The map
method does not modify the original collection, but returns a new collection instance with all the changes. The provided $callback
should accept the $item
and the items $key
as its only arguments.
The following code example will transform the case of each string in the collection and return a new collection instance:
1<?php
2
3use Illuminate\Support\Collection;
4
5// Create a new collection instance.
6$collection = new Collection([
7 'first', 'second', 'third'
8]);
9
10// Create a new collection where all the strings
11// in the original collection have had their case
12// changed to upper-case.
13$newCollection = $collection->map(function($item, $key) {
14 return strtoupper($item);
15});
The $newCollection
variable will be an instance of the Collection
class and contain a value similar to following output:
1object(Illuminate\Support\Collection)[135]
2 protected 'items' =>
3 array (size=3)
4 0 => string 'FIRST' (length=5)
5 1 => string 'SECOND' (length=6)
6 2 => string 'THIRD' (length=5)
The original $collection
collection will remain unchanged.
∎