Метод get
Метод get класса Arr предназначен для извлечения значения из массива по заданному ключу. Если ключ не существует, метод возвращает значение по умолчанию, которое передаётся вторым параметром. Первым параметром передаётся массив, вторым - ключ (или путь к значению через точку), третьим - значение по умолчанию.
Синтаксис
<?php
Arr::get($array, $key, $default = null);
?>
Пример
Давайте получим значение из простого массива по ключу:
<?php
use Illuminate\Support\Arr;
$arr = ['a' => 1, 'b' => 2, 'c' => 3];
$res = Arr::get($arr, 'b');
echo $res;
?>
Результат выполнения кода:
"2"
Пример
Давайте попробуем получить значение по ключу, которого нет в массиве, и укажем значение по умолчанию:
<?php
use Illuminate\Support\Arr;
$arr = ['a' => 1, 'b' => 2, 'c' => 3];
$res = Arr::get($arr, 'd', 100);
echo $res;
?>
Результат выполнения кода:
"100"
Пример
Метод get позволяет получать значения из многомерных массивов, используя "точечную" нотацию для указания пути:
<?php
use Illuminate\Support\Arr;
$arr = [
'user' => [
'name' => 'John',
'profile' => [
'age' => 30,
'city' => 'New York'
]
]
];
$res = Arr::get($arr, 'user.profile.city');
echo $res;
?>
Результат выполнения кода:
"New York"
Пример
Если ключ или путь не найден, метод вернёт указанное значение по умолчанию:
<?php
use Illuminate\Support\Arr;
$arr = [
'user' => [
'name' => 'John',
'profile' => [
'age' => 30
]
]
];
$res = Arr::get($arr, 'user.profile.country', 'default country');
echo $res;
?>
Результат выполнения кода:
"default country"
Пример
Метод get также может работать с массивами, которые не являются ассоциативными, извлекая элементы по числовому индексу:
<?php
use Illuminate\Support\Arr;
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = Arr::get($arr, 2);
echo $res;
?>
Результат выполнения кода:
"c"