РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
958 of 1392 menu

Функция data_get

Функция data_get позволяет извлекать значения из вложенных массивов и объектов, используя "точечную" нотацию для указания пути. Первым параметром передаётся массив или объект, вторым - путь к данным в виде строки, разделённой точками. Третий параметр необязательный - значение по умолчанию, которое будет возвращено, если путь не существует. Если путь не найден и значение по умолчанию не указано, функция вернёт null.

Синтаксис

<?php data_get($target, $key, $default = null); ?>

Пример

Давайте получим значение вложенного элемента из массива:

<?php $data = [ 'user' => [ 'name' => 'John', 'profile' => [ 'age' => 30 ] ] ]; $res = data_get($data, 'user.name'); echo $res; ?>

Результат выполнения кода:

"John"

Пример

Давайте получим значение с указанием значения по умолчанию:

<?php $data = [ 'user' => [ 'name' => 'John' ] ]; $res = data_get($data, 'user.email', 'default@example.com'); echo $res; ?>

Результат выполнения кода:

"default@example.com"

Пример

Давайте получим значение из объекта с использованием точечной нотации:

<?php class User { public $name = 'John'; public $profile; } class Profile { public $age = 30; } $user = new User(); $user->profile = new Profile(); $res = data_get($user, 'profile.age'); echo $res; ?>

Результат выполнения кода:

"30"

Пример

Давайте используем звёздочку для получения всех значений вложенных массивов:

<?php $data = [ 'users' => [ ['name' => 'John', 'age' => 30], ['name' => 'Jane', 'age' => 25], ['name' => 'Bob', 'age' => 35] ] ]; $res = data_get($data, 'users.*.name'); echo json_encode($res); ?>

Результат выполнения кода:

["John","Jane","Bob"]

Смотрите также

  • функция data_set,
    которая устанавливает значение по точечному пути
  • функция data_fill,
    которая заполняет данные по точечному пути
  • функция data_forget,
    которая удаляет данные по точечному пути
  • функция Arr::get,
    которая извлекает значение из массива по точечному пути
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить