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

Метод dot

Метод dot класса Arr преобразует многомерный массив в одномерный массив, где ключи вложенных элементов объединяются через точку. Первым и единственным параметром передаётся исходный многомерный массив. Метод возвращает новый одномерный массив с ключами в формате точечной нотации.

Синтаксис

<?php Arr::dot($array); ?>

Пример

Давайте преобразуем многомерный массив с данными пользователя:

<?php use Illuminate\Support\Arr; $user = [ 'name' => 'John', 'profile' => [ 'age' => 30, 'city' => 'New York', 'skills' => [ 'php' => 'expert', 'laravel' => 'advanced' ] ] ]; $res = Arr::dot($user); print_r($res); ?>

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

[ "name" => "John", "profile.age" => 30, "profile.city" => "New York", "profile.skills.php" => "expert", "profile.skills.laravel" => "advanced" ]

Пример

Преобразуем массив с несколькими уровнями вложенности:

<?php use Illuminate\Support\Arr; $data = [ 'user' => [ 'id' => 1, 'info' => [ 'email' => 'test@example.com', 'status' => 'active' ] ], 'settings' => [ 'theme' => 'dark', 'notifications' => true ] ]; $res = Arr::dot($data); print_r($res); ?>

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

[ "user.id" => 1, "user.info.email" => "test@example.com", "user.info.status" => "active", "settings.theme" => "dark", "settings.notifications" => true ]

Пример

Используем метод dot для работы с конфигурационными данными:

<?php namespace App\Http\Controllers; use Illuminate\Support\Arr; class ConfigController extends Controller { public function show() { $config = [ 'app' => [ 'name' => 'Laravel', 'debug' => true, 'env' => 'local' ], 'database' => [ 'default' => 'mysql', 'connections' => [ 'mysql' => [ 'host' => '127.0.0.1', 'database' => 'test_db' ] ] ] ]; $res = Arr::dot($config); echo $res['app.name']; echo $res['database.connections.mysql.host']; } } ?>

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

"Laravel127.0.0.1"

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

  • метод undot,
    который преобразует массив с точечной нотацией обратно в многомерный
  • метод get,
    который получает значение из массива по ключу с точками
  • метод set,
    который устанавливает значение в массив по ключу с точками
  • метод has,
    который проверяет наличие ключа в массиве с точечной нотацией
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить