kenn mich zwar nicht richtig mit php aus aber probiers mal auf http://de.selfhtml.org/ !
Wenn du Datenermittlung und -ausgabe sauber trennen willst, dann brauchst du an beiden Stellen eine Schleife.
In den gängigen Template-Eingines gibt’s dafür eigene Syntax-Elemente, die geparst werden, und bei denen dann der Inhalt dieser in einer Scleife mehrfach ausgegeben wird.
Allerdings sollte man sich vielleicht erst mal die Frage stellen, wie sinnvoll das Draufsetzen einer eigenen Template-Engine auf PHP ist - PHP selber ist ja an sich schon eine.
Mit der Alternativ-Syntax für Kontrollstrukturen kann man damit auch ziemlich übersichtliche Templates erstellen - und die dann zum Beispiel einfach am Scriptende, wenn man alle Daten ermittelt und verarbeitet hat, per include einbinden, und PHP kümmert sich dann um den Rest.
Nein, kann man nicht - es gibt keine “if-Schleifen”.
Wie man elseif/else analog verwendet, steht sogar explizit als Beispiel auf der verlinkten Seite.