DEV Community

Cover image for Flatten Array using Arr::flatten() in Laravel
Vishnu Damwala
Vishnu Damwala

Posted on • Originally published at meshworld.in

Flatten Array using Arr::flatten() in Laravel

During development, the developer needs to go through loops to prepare a single dimensional array out of a multi-dimensional array.

Laravel provides many helpers which come handy in multiple ways and saves developers work.

One of such is Arr::flatten() which flattens a multi-dimensional array into a single level by default.

Tested with Laravel versions 5.8, 6 and 7.

We need to import Illuminate\Support\Arr namespace with use keyword.

Kindly check for your version on the official DOC for Laravel Helper Arr::flatten(). This link will take you to Laravel 7 Documentation.

Syntax

Arr::flatten(array $array, [int $depth = INF]) 

Parameters

\$array (necessary)

  • The first parameter is necessary and must be an array that needs to be flattened.
  • Laravel will extract elements and provides us with a new single dimension array based on the depth parameter.

\$depth (optional)

  • The second parameter specifies the depth and it's an optional parameter.
  • This value must be an integer type.
  • The depth specifies how deep a nested array should be flattened.
  • The default value for depth is infinity(INF) from which Laravel will extract elements and provides us with a new single dimension array.

Return value

It returns a new 1-D flattened array.

Example

$data = [ 'country' => 'India ๐Ÿ‡ฎ๐Ÿ‡ณ', 'languages' => [ 'Gujarati', 'Hindi', 'Sanskrit', 'Tamil', 'Urdu', ], ]; dd( Arr::flatten($data) ); 

Output

array:3 [ 0 => "India ๐Ÿ‡ฎ๐Ÿ‡ณ" 1 => "Gujarati" 2 => "Hindi" 3 => "Sanskrit" 4 => "Tamil" 5 => "Urdu" ] 

Read the complete post on our site MeshWorld โ€Š- โ€ŠFlatten Array using Arr::flatten() in Laravel

Read others post on our site MeshWorld

Resources

  • Laravel Arr flatten method documentation

Happy ๐Ÿ˜„ coding
With โค๏ธ from ๐Ÿ‡ฎ๐Ÿ‡ณ

Top comments (1)

Collapse
 
goatsedolan profile image
Goatse Dolan Duck

I also like to use array_merge(... $array) when I need to preserve keys.