PHP Handbuch | ||
---|---|---|
Zurück | Kapitel 15. Referenzen in PHP | Nach vorne |
PHP Referenzen erlauben es, zwei Variablennamen sich auf den gleichen Variableninhalt beziehen zu lassen. Das heisst im folgenden Beispiel, dass sich $a und $b auf dieselbe Variable beziehen:
Anmerkung: $a und $b sind hier gleichwertig, und $a ist nicht nur ein Zeiger auf $b oder umgekehrt, sondern $a und $b zeigen auf den selben Inhalt.
Seit PHP 4.0.4 kann & auch in Verbindung mit new verwendet werden.
Anmerkung: Wenn der & Operator nicht verwendet wird, erzeugt PHP eine Kopie des Objekts. Wenn nun $this innerhalb der Klasse verwendet wird, bezieht es sich auf die aktuelle Instanz der Klasse. Die Zuordnung ohne & erzeugt eine Kopie der Instanz (d.h. des Objekts) und $this wird sich auf die Kopie beziehen. In der Regel will man aus Performance- und Speicherverbrausgründen nur eine einzige Instanz einer Klasse erzeugen. Dafür stellt PHP den & bereit.
Eine weitere Einsatzmöglichkeit von Referenzen ist die Übergabe von Parametern an eine Funktion mit pass-by-reference. Hierbei beziehen sich der lokale Variablenname als auch der Variablenname der aufrufenden Instanz auf denselben Variableninhalt:
Nach der Ausführung hat $a den Wert 6, da sich in der Funktion foo der Variablenname $var auf denselben Variableninhalt bezieht wie $a in der aufrufenden Instanz (hier das Hauptprogramm).Daneben besteht die Möglichkeit aus Funktionen heraus Werte mit return by-reference zurückzugeben.
Zurück | Zum Anfang | Nach vorne |
Referenzen in PHP | Nach oben | Was Referenzen nicht sind |