DEV Community

loading...
Cover image for Flatten Array using Arr::flatten() in Laravel

Flatten Array using Arr::flatten() in Laravel

Vishnu Damwala
A human being currently living in India🇮🇳 on Earth. Founder of MeshWorld, a web geek, an industry experienced web developer & tutor/instructor currently lives in Surat City.
Originally published at meshworld.in ・2 min read

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 🇮🇳

Discussion (1)

Collapse
goatsedolan profile image
Goatse Dolan Duck

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