Hocam sorduğunuz soruyu doğru anladıysam, normalde foreach içinde for kullanmayız yani en azından ben kullanmam ikiside döngü çünkü.Orada onu Array(dizi) yapan şey ise sayı numarası yani yazılımın getirdiği şart dolayısıyla, dizinin içinde dizi olması gerektiği anlamını çıkardım ben.

Yani kısacak özet geçmek gerekirse; foreach ile diziye ayırmış, daha sonra $basliksayisi değişkeni sayısı kadar for ile say demiş ve gelen sayıyı da array'a atamış.
Bu arada ikinci attığınız kodla ilk kod arasında bir bağlantı yok.