2012-04-01 53 views
-1

如果我有以下代碼:顯示CakePHP的循環內的廣告

<?php foreach ($posts as $post): ?> 

<li>POST</li> 

<?php endforeach; ?> 

我將如何顯示在崗位之間的廣告說,每5項或5成之後的項目只有一次?

我想過像$post[5]之類的東西,但不知道我是否在吠叫錯誤的樹。任何建議/反饋和例子,將不勝感激。

回答

1

假設數據是統一索引(如果它是一個CakePHP的find()的結果,它是):

foreach($posts as $index => $post) { 

    // display the post 

    if($index % 5 == 4) { // every fifth post or $index == 4 for only the fifth 
     // display the ad 
    } 
} 
+0

我會用===(嚴格比較) – mark 2012-04-01 13:08:09

+0

@馬克爲什麼呢?在什麼情況下'$ x%5 == 4 4'會與'$ x%5 === 4'不同?如果來自'find()',索引保證是一個整數。 – JJJ 2012-04-01 13:16:40

+0

只是一個小小的clitch ^^沒什麼太重要的。但它足夠糟糕的PHP不是完全安全的。儘可能使用嚴​​格的類型(如本例中),被認爲是「好」編碼。 @see http://flow3.typo3.org/documentation/codingguidelines/php.html等(我只是鏈接了谷歌的第一個記錄,但也可能有更通用的指導方針)。 – mark 2012-04-01 13:41:48