dedlfix: include innerhalb Variable

Beitrag lesen

im eigentlichen Script gebe ich im Rahmen einer FOREACH-Schleife per print ein Array aus.
Ersetze ich nun print durch return, Erscheint nur noch das erste Feld des Arrays.

Das hat das return so an sich. Du musst erst die Daten irgendwo sammeln und die erst nach der Schleife dem return übergeben.

Prinzipiell geht das so:

$ergebnis = '';
foreach(... as $wert) {
  $ergebnis .= $wert;
}
return $ergebnis;

Im Allgemeines ist es, so auch in PHP, üblich, Funktionalitäten in Funktionen zu kapseln. Diese können durchaus auch in Dateien deklariert sein, die mit include/require eingebunden werden können.

Ich nehme mal an, dass du das include-Prinzip verwendest, weil du es entweder irgendwo abgeschaut hast und es nicht besser weißt, oder weil du damit Probleme mit dem Geltungsbereich von Variablen umgehen willst.
Der optimale Weg ist, Funktionalitäten so zu kapseln, dass sie ohne Verwendung von globalen Variablen, nur aus den übergebenen Parameteren das Ergebnis ermitteln. Versuche das bei der Lösungsfindung zu einem Problem zu berücksichtigen. Du kannst dir dabei auch vorstellen, dass du einem Außenstehenden die Aufgabe übertragen musst, der während seiner Arbeit keinen Zugriff auf deine lokalen Ressourcen hat. Zwischendurch rückfragen scheidet auch aus.

Bei objektorientiertem Programmieren sieht das Ganze etwas anders aus, aber Grundvoraussetzung dafür ist auch hier die gewünschten Funktionalitäten kapseln zu können.