2012-04-01 12 views
-1

Wenn ich den folgenden Code haben:zeigen eine Anzeige innerhalb der Schleife CakePHP

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

<li>POST</li> 

<?php endforeach; ?> 

Wie würde ich zwischen den Pfosten alle 5 Elemente oder nur ein einziges Mal nach 5 Artikel sagen in einer Anzeige zeigen?

Ich dachte über so etwas wie $post[5], aber nicht sicher, ob ich den falschen Baum belle. Irgendwelche Vorschläge/Feedback und Beispiele würden geschätzt.

Antwort

1

Vorausgesetzt, dass die Daten gleichmäßig indiziert (und wenn es das Ergebnis eines CakePHP find() ist, es ist):

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

Ich würde verwenden === (strikter Vergleich) – mark

+0

@ Mark Warum? In welcher Situation würde sich '$ x% 5 == 4' von '$ x% 5 === 4' unterscheiden? Der Index ist garantiert eine Ganzzahl, wenn er von 'find()' kommt. – JJJ

+0

nur ein kleiner klick ^^ nichts zu wichtig. aber es ist schlimm genug PHP ist nicht genau Typ sicher. Es wird als "gute" Codierung angesehen, wo immer möglich mit strengen Typen zu arbeiten (wie in diesem Fall). @see http://flow3.typo3.org/documentation/codingguidelines/php.html etc (Ich habe nur die erste auf Google verlinkt verlinkt, aber es gibt wahrscheinlich auch allgemeinere Richtlinien). – mark

Verwandte Themen