In der PHP-Syntax bedeutet dies, dass die Funktion eine Referenz anstelle eines Wertes zurückgibt. Zum Beispiel:
%Vor% Im obigen Beispiel würde das Entfernen der &
von der Funktionsdeklaration dazu führen, dass die Variable $foo
noch 'foo' enthält, da nur der Wert und nicht die Referenz von der Funktion zurückgegeben wurde.
Dies wurde in PHP4 häufiger verwendet, da Objekte nicht durch ihre Referenz übergeben und stattdessen geklont wurden. Aus diesem Grund mussten Objektvariablen als Referenz übergeben werden, um unerwünschtes Klonen zu vermeiden. Dies ist in PHP5 nicht mehr der Fall und Referenzen sollten nicht für diesen Zweck verwendet werden.
Funktionen, die Referenzen zurückgeben, sind jedoch auch nicht völlig unbrauchbar (oder schlechte Praxis, wenn sie nicht zum Ersetzen von Objektreferenzen verwendet werden).
Zum Beispiel habe ich sie persönlich beim Erstellen eines Skripts verwendet, das einen "Pfad" an eine Funktion übergibt, die den Verweis auf die Variable in diesem Pfad zurückgibt und es mir ermöglicht, den Wert festzulegen und den Wert zu lesen. Aufgrund der rekursiven Natur der Funktion wurde die Referenz benötigt.
Von rithiur
Dies bedeutet, dass im Gegensatz zu einer Kopie ein Verweis auf das Ergebnis zurückgegeben wird.
PHPs Meta-Zeichen für die Weiterleitung. Siehe Weitergabe nach Referenz
Tags und Links php method-signature