Heim  >  Artikel  >  Backend-Entwicklung  >  Wann übergibt PHP einen Wert oder eine Referenz?

Wann übergibt PHP einen Wert oder eine Referenz?

藏色散人
藏色散人Original
2019-05-22 10:34:225384Durchsuche

Variablen werden standardmäßig immer nach Wert zugewiesen. Das heißt, wenn der Wert eines Ausdrucks einer Variablen zugewiesen wird, wird der Wert des gesamten ursprünglichen Ausdrucks der Zielvariablen zugewiesen. Dies bedeutet, dass sich beispielsweise die Änderung des Werts einer Variablen nicht auf die andere Variable auswirkt, wenn der Wert einer Variablen einer anderen Variablen zugewiesen wird.

Wann übergibt PHP einen Wert oder eine Referenz?

PHP bietet auch eine andere Möglichkeit, Variablen Werte zuzuweisen: Referenzzuweisung. Das bedeutet, dass die neue Variable einfach auf die ursprüngliche Variable verweist (mit anderen Worten „Aliase“ oder „zeigt auf“). Das Ändern der neuen Variablen wirkt sich auf die ursprüngliche Variable aus und umgekehrt. Um die Zuweisung per Referenz zu verwenden, fügen Sie einfach ein &-Zeichen vor der zuzuweisenden Variablen (der Quellvariablen) ein.

Objekte werden standardmäßig als Referenz übergeben. Bei größeren Daten ist es besser, sie als Referenz zu übergeben, wodurch Speicheraufwand gespart werden kann.

Hinweis:

Wertübergabe: Alle Änderungen am Wert innerhalb der Funktion werden außerhalb der Funktion ignoriert.

Übergabe als Referenz: Alle Änderungen am Wert innerhalb der Funktion spiegeln diese Änderungen auch außerhalb der Funktion wider.

Anwendungsszenario: Bei der Wertübergabe muss PHP den Wert kopieren, bei der Referenzübergabe ist es jedoch nicht erforderlich, den Wert zu kopieren, sodass die Referenzübergabe im Allgemeinen für große Zeichenfolgen oder Objekte verwendet wird.

Vor- und Nachteile:

Bei der Wertübergabe muss PHP den Wert kopieren. Dies ist bei großen Strings und Objekten teuer. Bei der Referenzübergabe ist kein Kopieren des Werts erforderlich, was sich positiv auf die Leistungsverbesserung auswirkt.

Das obige ist der detaillierte Inhalt vonWann übergibt PHP einen Wert oder eine Referenz?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn