PHP-карта с именем array для другого именованного массива

У меня есть следующий код для генерации нового массива:

$languages = array_keys(['French'=>4, 'Spanish'=>2, 'German'=>6, 'Chinese'=>8]); function generateLanguageRules($language) { return ["seatsAllocatedFor$language"=>"numeric|max:300"]; } array_map('generateLanguageRules', $languages); //Output: array( 0 => array( 'seatsAllocatedForFrench' => 'numeric|max:300' ), 1 => array( 'seatsAllocatedForSpanish' => 'numeric|max:300' ), 2 => array( 'seatsAllocatedForGerman' => 'numeric|max:300' ), 3 => array( 'seatsAllocatedForChinese' => 'numeric|max:300' ) ) 

Мне интересно, есть ли более простой способ вывода плоского массива вместо вложенного? Я использую Laravel. Могут ли быть какие-то вспомогательные функции, которые могли бы это сделать?

ОБНОВЛЕНИЕ: одно возможное решение Laravel:

 $languages = array_keys(['French'=>4, 'Spanish'=>2, 'German'=>6, 'Chinese'=>8]); $c = new Illuminate\Support\Collection($languages); $c->map(function ($language){ return ["seatsAllocatedFor$language"=>"numeric|max:300"]; })->collapse()->toArray();