Насколько я понимаю ваш вопрос, у вас есть набор основных блоков ( $ mainBlocks array ) и набор рекламных блоков ( $ adBlocks array ) и в представленииВы хотите многократно показывать 4 основных блока, а затем один рекламный блок. Правильно?
Это было бы легко: просто используйте цикл for для основных блоков, а после каждого 4 основного блока показывайте один рекламный блок. Примерно так:
$adIndex = 0;
for ($i = 0; $i < count($mainBlocks); $i++)
{
//show a main block: inlcude('SHOW_MAIN_BLOCK', ['block' => $mainBlocks[$i]])
if ($i > 0 && $i % 4 == 0 && $adIndex < count($adBlocks))
{
//show an ad block: inlcude('SHOW_AD_BLOCK', ['block' => $adBlocks[$adIndex]])
$adIndex++;
}
}