dedlfix: Datei einlesen und Inhalt ausgeben klappt nicht mehr

Beitrag lesen

echo $begrüßung;

Flink die beiden eckigen Klammern ergänzt und schon klappt es wieder :-))

Es klappt, ist aber dennoch fehlerhaft. Wenn die Datei leer ist oder nicht geöffnet werden konnte, ist die Variablen $Inhalt nicht vorhanden, wenn du zum Ende der Funktion kommst und sie zurückgeben willst. PHP gibt dann stattdessen ein NULL zurück. Schreibvorgängen in bedingten Programmteilen (if, while, for, foreach) sollte immer ein definiertes Anlegen der Variable in einem vorherigen, unbedingten Teil erfolgen, damit bei nicht erfüllter Bedingung die Variable garantiert vorhanden und mit einem Default-Wert belegt ist. In deinem Fall wäre ein leeres Array als Default-Wert angebracht. Weiterhin ist es günstiger, foreach zu verwenden, wenn du ein Array von vorn bis hinten durchlaufen willst. Damit sparst du dir das Hantieren mit der Hilfsvariable $i und das Aufrufen der count()-Funktion bei jedem Schleifendurchlauf.

Deinen Fehler hättest du auch selbst mit Hilfe von Kontrollausgaben erkennen können. Kontrollausgaben sind eins der wichtigsten Hilfsmittel zur Fehlersuche. Wenn eine Abfrageschleife ein unerwartetes Ergebnis liefert, dann kann man innerhalb der Schleife vor und nach jeder Änderung eines Wertes eine Kontrollausgabe der beteiligten Variablen einfügen.

echo "$verabschiedung $name";