Arr::get() The Arr::get method retrieves a value from a deeply nested array using "dot" notation:

Understanding the Arr::get() Method

If you are working with arrays in PHP, you might have come across situations where you need to retrieve a value from a deeply nested array. This can be a tedious task as you have to traverse through the array using multiple foreach loops. Luckily, Laravel provides a convenient method called Arr::get() that makes this task much easier.

What is the Arr::get() Method?

The Arr::get() method is a static method in Laravel's Illuminate\Support\Arr class that allows you to retrieve a value from a deeply nested array using "dot" notation.

How Does the Arr::get() Method Work?

The syntax for using the Arr::get() method is as follows:

Arr::get(array $array, string $key, mixed $default = null): mixed

The $array parameter is the array from which you want to retrieve the value. The $key parameter is the key of the value you want to retrieve. The $default parameter is the default value that will be returned if the key does not exist in the array.

The key parameter can be a string or an array of strings. If it is an array of strings, the method will traverse through the array using each key until it finds the final value.

Here is an example:

$array = [
    'user' => [
        'name' => 'John Doe',
        'email' => '[email protected]',
        'phone' => [
            'home' => '123-456-7890',
            'work' => '987-654-3210'
        ]
    ]
];

// Retrieve the value of the 'work' phone number
$workPhone = Arr::get($array, 'user.phone.work');

echo $workPhone; // Outputs: 987-654-3210

In this example, we have a nested array that contains a user's name, email, and phone numbers. We want to retrieve the value of the "work" phone number. We do this by passing the array and the key "user.phone.work" to the Arr::get() method.

Multiple Ways to Use the Arr::get() Method

There are multiple ways to use the Arr::get() method depending on your needs:

  • You can pass a default value as the third parameter. This value will be returned if the key does not exist in the array. For example:
// Retrieve the value of the 'fax' phone number or return 'N/A' if it doesn't exist
$fax = Arr::get($array, 'user.phone.fax', 'N/A');
  • You can use the ?? operator to provide a default value inline like so:
// Retrieve the value of the 'fax' phone number or return 'N/A' if it doesn't exist
$fax = Arr::get($array, 'user.phone.fax') ?? 'N/A';

This is equivalent to passing 'N/A' as the third parameter.

The Arr::get() method is a powerful tool for working with arrays in PHP. It can save you a lot of time and effort when dealing with nested arrays.

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe