April 11, 2018 —John Koster
The dot
helper method will take a multi-dimensional array and return a new associative array where the keys are built from all the nested keys, separated with the .
character.
The signature of the dot
method is:
1public static function dot(2 $array,vvvvv3 $prepend = ''4);
The following example demonstrates the dot
method without using the $prepend
argument:
1use Illuminate\Support\Arr; 2 3$myArray = [ 4 'user' => [ 5 'first_name' => 'John', 6 'last_name' => 'Doe', 7 'career' => [ 8 'name' => 'Programmer', 9 'description' => 'Make stuffs.'10 ]11 ]12];13 14$myArray = Arr::dot($myArray);
The final array would look like this:
1array {2 ["user.first_name"] "John"3 ["user.last_name"] "Doe"4 ["user.career.name"] "Programmer"5 ["user.career.description"] "Make stuffs."6}
The dot
method also accepts a value for $prepend
which will be added to the beginning of all the newly generated keys. Executing the following:
1$myArray = Arr::dot($myArray, 'prepended_');
Would have produced the following array instead:
1array(4) {2 ["prepended_user.first_name"] "John"3 ["prepended_user.last_name"] "Doe"4 ["prepended_user.career.name"] "Programmer"5 ["prepended_user.career.description"] "Make stuffs."6}
array_dot
Helper FunctionThe array_dot
function is a shortcut to calling Arr::dot
. This function is declared in the global namespace.
∎
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.