Hallo
ich habe gehört dass man eine foreach mit break unterbrechen kann. Dieses habe ich dazu gefunden: http://php.net/manual/de/control-structures.break.php.
Ich verstehe dieses allerdings nicht :/ Ich habe folgende Schleife
foreach($frontend as $array){ echo $array['teaser'] }
Jetzt möchte ich gerne nach jeder zweiten Durchlauf ein Werbeblock einbinden, wie könnte ich dieses umsetzten.
Indem du zählst. Initialisiere, bevor du in die Schleife gehst, eine Variable, die du bei jedem Durchlauf um 1 hochzählst.
$i = 0
foreach($frontend as $array){
echo $array['teaser']
if ($i === 2) {
break;
}
$i++; // inkrementelles Addieren
}
Aber: Dein Ansinnen wird damit nicht funktionieren, weil du mit break
die Schleife endgültig verlässt. Es kannst nur mit Handständen mit dem gegenwärtigen Wert von $i
und einem zweiten Zähler abzählen, wo du vor dem break
warst, um in einem weiteren Durchlauf dort wieder mit der Ausgabe zu beginnen.
Gibst du statt des Arrayelements, welches dran ist, deine Werbung aus, übergehst du das betreffende Element, das gerade dran gewesen wäre. Die Schleife geht ja eins weiter und greift sich das folgende Element des Arrays. Die, statt der Werbung dran gewesen wären, werden also nie ausgegeben.
Sinnvoll ist stattdessen, die Werbung an den passenden Stellen in das Array einzufügen, so dass es beim Schleifendurchlauf dessen natürlicher Bestandteil ist.
Tschö, Auge
Es schimmerte ein Licht am Ende des Tunnels und es stammte von einem Flammenwerfer.
Terry Pratchett, „Gevatter Tod“