By John Koster
The flatten
method will return a new Collection
instance representing a flattened version of the original collection's items. The flatten
method internally makes use of the "Illuminate\Support\Arr::flatten($array)" helper method. The flatten
method will not preserve any keys from the original collection.
#Signature
1public function flatten(
2 $depth = INF
3);
#Example Use
The following example demonstrates the usage of the flatten
method:
1use Illuminate\Support\Collection;
2
3// Create a new collection instance.
4$collection = new Collection([
5 'first',
6 'second' => [
7 'nested',
8 'array',
9 [
10 'deeply',
11 'nested'
12 ]
13 ],
14 'third' => 'some-value'
15]);
16
17// Flatten the original collection.
18$flattenedCollection = $collection->flatten();
The $flattenedCollection
variable will hold an instance of the Collection
class and will have a value similar to the following output:
1object(Illuminate\Support\Collection)
2 protected 'items' =>
3 array
4 0 => string 'first'
5 1 => string 'nested'
6 2 => string 'array'
7 3 => string 'deeply'
8 4 => string 'nested'
9 5 => string 'some-value'
It is obvious in the above output that the flatten
method does not preserve any of the original keys, and will even flatten deeply nested arrays.
∎