2016-11-30 73 views
0

我有我通過foreach循環顯示的帖子。在這個我想投入一些廣告塊。在foreach循環中插入隨機塊

我有帖子和廣告塊沒有問題的工作。帖子來自陣列,手動插入廣告塊。

我看到的呃逆是如何將這些廣告投入到foreach循環中。我希望它能夠添加它們,但不會中斷帖子本身,這就是我正在經歷的。

我有3個廣告區塊,每頁12篇文章。當頁面加載時,應該總共有15個塊,而我得到9個。這些廣告也不是靜態的 - 我將它們放入總共15個塊中的任何位置。

這裏是我正在使用的腳本(讀者摘要版本)的快速運行。

$i = 0; 
foreach ($posts AS $post) {
 
    $i++;
 
    if ($adblock == $i) { 
     //insert advertisement block 
    } 
    else if ($adblock == $i) { 
     //insert advertisement block 
    } 
    else if ($adblock == $i) { 
     //insert advertisement block 
    } 
    else { 
     //insert post block 
    }
 
} 
+2

使用模數。 '如果(($ i%3)== 0){//插入廣告}' –

+0

這是完美的,並會給它一個去!謝謝。 –

回答

1

沒有太多的複雜性,如果職位數目/每頁進階是靜態的,你可以用一個簡單的數學來把你的進階這樣的:

$i=0; 
foreach($posts as $post){ 
    $i++; 

    if($i%3==0) { /* insert additional adv block */ } 

    /* insert post block at anytime*/ 
} 

你可以改變($我%3 == 0)任何其他號碼;與3你會得到一個副每3個職位。需要更多的副詞,使它($ i%2 == 0),需要更少,使它($ i%4 == 0)等。

+1

不應該是「if/else」 - 它應該只是插入下一篇文章的後續文章而不是其他文章,它將跳過文章本身。但除此之外,這個想法是好的。''if($ i%3 == 0){/ * insert adv block * /}/* insert post block * /' – dognose

+0

謝謝大家的意見;那裏不應該有別的東西。進來完美和隨機! –