Heim >Backend-Entwicklung >PHP-Tutorial >Codebeispiel einer Methode, die einen Referenztyp in PHP zurückgibt
PHPs -Referenzen (d. h. das Hinzufügen eines kaufmännischen Und-Zeichens vor Variablen, Funktionen, Objekten usw.) // Das Wichtigste ist, die Variablen zu löschen, auf die durch verwiesen wird. Auf die referenzierten Variablen kann jedoch nicht zugegriffen werden. Die Bedeutung von Referenzen in PHP ist:
In diesem Artikel wird hauptsächlich die Methode zur Rückgabe der -Referenz vorgestellt Geben Sie PHP ein,
<?php $color = 'YellowGreen'; function &getRef() { global $color; return $color; } function getCopy() { global $color; return $color; } $colorRef = &getRef(); $colorRef = 'Blue'; //$colorCopy = getCopy(); //$colorCopy = 'Black'; var_dump($color); var_dump($colorRef); //var_dump($colorCopy);
Führen Sie den obigen Code einmal aus und Sie werden fast verstehen, dass die Verwendung von &getRef() $colorRef an $color bindet, das heißt, $colorRef und $color sind zwei Variablen Es zeigt auf den gleichen Wert. Wenn Sie einen der Werte ändern, ändert sich auch der andere.
Wenn $color ein Array ist, gilt das gleiche Verhalten für den obigen Code in jeder Version von PHP4/5.
Das Problem tritt auf, wenn $color ein Objekt ist.
In PHP4 gibt getCopy weiterhin ein kopiertes Objekt zurück. &getRef() gibt eine Referenz zurück.
PHP5 ist etwas anders
Das neueste PHP5.2 verhält sich genauso wie PHP4, getCopy() gibt eine Kopie zurück, &getRef() gibt eine Referenz zurück.
Einige Versionen von PHP5 unterscheiden sich jedoch geringfügig, z. B. PHP5.1.6, was zeigt, dass getCopy() und &getRef() beide Referenzen sind.
Hier sind getCopy() und &getRef() zwei globale Funktionen. Wenn sie in eine Klasse eingefügt werden und zu Mitgliedsfunktionen der Klasse werden, sieht das ganz anders aus...
PS: Das Zurückgeben von Referenzen verbessert die Leistung nicht, aber manchmal verringert es die Leistung. Nehmen Sie es also nicht als selbstverständlich an, diese Funktion zur „Optimierung“ des Programms zu verwenden.
Das obige ist der detaillierte Inhalt vonCodebeispiel einer Methode, die einen Referenztyp in PHP zurückgibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!