Я пытаюсь создать массив, где есть только строки и массив будет выглядеть так
кнопочная> кнопочная> значение
Чтобы объяснить это, я прикрепил два скриншота ниже.
Я начну с этого:
![enter image description here](https://i.stack.imgur.com/UKBGs.png)
После моего кода ниже я на 90%, но на третьем уровне есть массив значений вместо простого значения.
![enter image description here](https://i.stack.imgur.com/NYw7F.png)
Вот код:
$theme = ThemeHandler::with('sections.settings')->find($activeTheme);
$themeSettings = $theme->sections;
$themeSettings = collect($themeSettings->toArray());
// dd($themeSettings);
$themeSections = [];
foreach ($themeSettings as $key => $value) {
$settings = collect($value['settings']);
$settings = $settings->mapToGroups(function ($item) {
return [$item['key'] => $item['value']];
});
$themeSections[$value['key']] = $settings->toArray();
}
dd($themeSections);
Я хотел бы закончить с этой структурой
кнопочная> кнопочной> значения
а не
кнопочная> кнопочная> single_element_array-> значение
Я не уверен, как я получаю массив на нижнем уровне, когда я делаю это
return [$item['key'] => $item['value']];
внутри mapToGroups, которая находится здесь: https://laravel.com/docs/5.8/collections#method-maptogroups
Может быть, я неправильно понимаю, как работают mapToGroups. У кого-нибудь есть идея, как получить вывод key-> key-> value структуры?