создание многоуровневого массива

имеется 3 массива:

$elements = ["1_1","1_2","1_3","1_4","1_5"]; $subjects = ["Математика", "Русский", "Информатика", "ИЗО", "Физика"]; $cabs = ["101","102","103","104","105"];

мне нужно из них получить такой многоуровневый массив

$arr = ["1_1"=>["subj"=>"Математика","cab"=>"101"],"1_2"=>["subj"=>"Русский","cab"=>"102"],"1_3"=>["subj"=>"Информатика","cab"=>"103"],"1_4"=>["subj"=>"ИЗО","cab"=>"104"],"1_5"=>["subj"=>"Физика","cab"=>"105"]];

пробовал использовать

<?php
 $arr = (
 foreach($elements as $element){
 foreach($subjects as $subject){
 foreach($cabs as $cab){
 "$element" => array(
  "subj"=>$subject,
  "cab" =>$cab
 )
 }
 }
 }
 );
 ?>

Ответы (1 шт):

Автор решения: Андрей Миронов

Количество элементов во всех 3-х массивах должно быть одинаковым? Тогда так:

$arr = [];
for ($i=0; $i<count($elements); $i++) {
    $arr[$elements[$i]] = ['subj' => $subjects[$i], 'cab' => $cabs[$i]];
}
→ Ссылка