By 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.
#Signature
The signature of the dot
method is:
1public static function dot(
2 $array,vvvvv
3 $prepend = ''
4);
#Example Use
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}
#Global array_dot
Helper Function
The array_dot
function is a shortcut to calling Arr::dot
. This function is declared in the global namespace.
∎