dedlfix: call by value/call by reference

Beitrag lesen

echo $begrüßung;

Skalare Variablen werden beim Funktionsaufruf immer als Kopie übergeben (call by value) - selbst wenn du innerhalb der Funktion den Wert veränderst, veränderst du damit nicht den Wert des "Originals".

Nicht nur skalare Variablen, auch nichtskalare Variablen (Array, Objekt) werden als Kopie übergeben. Objekte werden erst ab PHP5 als Referenz übergeben (Arrays nicht).

Wenn du wolltest, _dass_ eine Änderung innerhalb der Funktion auch den Wert außerhalb ändert, dann müsstest du die Variable als Referenz übergeben - call by reference.

Stimmt schon, aber das ist meist nicht die Lösung des Problems, wenn man noch nicht mal Ahnung vom grundlegenden Funktionsprinzip von Funktionen unter PHP hat.

echo "$verabschiedung $name";