Всем привет. Подскажите пожалуйста, каким образом можно объединить несколько массивов в один через функцию
array_merge()
после цикла foreach?
В переменной
$config массив:
<?php
return [
'genres' => [
'langs' => ['ru', 'en', 'de'],
]
];
Записи в языковых файлах выглядят так:
Пишу такую функцию:
public function getFilesGenres() {
$files = scandir(__DIR__.'/genres');
$config = config('songscrud.genres.langs');
$array = [];
foreach($config as $lang) {
foreach ($files as $file)
{
if(preg_match('/\.(php)/', $file))
{
$path = __DIR__.'/genres/' . $file;
$ext = pathinfo($file, PATHINFO_FILENAME);
if ($lang === $ext) {
$array[$lang] = require($path);
$array = array_merge($array[$lang]);
}
}
}
}
return $array;
}
Записываю каждый массив в массив с языком типа en, ru, de. В итоге выдаёт только массив из первого файла и ничего не объединяется. Пробовал записывать так:
$array1 = ['id' => 1, 'parent_id' => NULL, 'lft' => NULL, 'rgt' => NULL, 'depth' => 1, 'name_ru' => 'Народная музыка', 'slug_ru' => 'народная-музыка', 'translit_ru' => 'narodnaja-muzyka'];
$array2 = ['id' => 1, 'parent_id' => NULL, 'lft' => NULL, 'rgt' => NULL, 'depth' => 1, 'name_de' => 'Ethnische Musik', 'slug_de' => 'ethnische-musik'];
$array3 = ['id' => 1, 'parent_id' => NULL, 'lft' => NULL, 'rgt' => NULL, 'depth' => 1, 'name_en' => 'Ethnic music', 'slug_en' => 'ethnic-music'];
return array_merge($array1, $array2, $array3);
Такой код работает хорошо и объединяет всё в один массив. Как объединять массивы динамично через файлы с массивами используя цикл?