Yazım yanlışları olabilir siz düzeltebilirsiniz, temel mantık budur. Dizi içinde arama yapmak her ihtiyaç duyulduğunda kullanılacağı için daha çok kaynak tüketir,i mysql kadar kullanışlıda değildir.

foreach($dizi[BaslangiciBurada] as $alt1_key => $alt1_val){
   foreach($alt1_val as $alt2){
      query("insert into (array, id, a, b, c) values('$alt1_key', '$alt2[id]', '$alt2[a]', '$alt2[b]', '$alt2[c]',)");
   }
}
Her dizi için yeni bir sorgu yerine toplu insert daha mantıklı olabilir.
$query1 = "insert into tablo_adi (array, id, a, b, c) ";
foreach($dizi[BaslangiciBurada] as $alt1_key => $alt1_val){
   foreach($alt1_val as $alt2){
      $query2[]= " values('$alt1_key', '$alt2[id]', '$alt2[a]', '$alt2[b]', '$alt2[c]') ";
   }
}
query($query1.implode(',', $query2));