2009-07-02 11 views
4

Aus irgendeinem Grund habe ich immer angenommen, dass die meiste Zeit eine Variable zurückgegeben von einer Methode als Referenz zurückgegeben wird - schließlich bei der Rückkehr; die meisten Methoden würden den Rückgabewert zerstören und es erscheint albern, eine Kopie zu machen, sie zurückzugeben und dann die Originale zu zerstören.Automatische Rückgabe durch Referenz in PHP

Findet das Obige jemals Anwendung, oder lohnt es sich, Funktionen manuell durch Referenz zurückzugeben? Ich habe einige Methoden, die oft große Datenmengen untereinander austauschen, und wenn dies der Fall ist, wäre es ein billiger Weg, um mehr Leistung aus ihnen zu ziehen.

Vielen Dank für Kommentare!

Antwort

10

PHP schreibt trotzdem 'schreiben', also werden Variablen nicht wirklich kopiert, bis Sie den Wert tatsächlich ändern. Sie sollten sich deswegen keine Sorgen machen.

Auch von http://php.net/manual/en/language.references.return.php:

durch Bezugnahme Rückkehr ist nützlich, wenn Sie eine Funktion verwenden möchten zu finden, welche Variable eine Referenz gebunden sein sollte. Verwenden Sie nicht Return-by-Reference , um die Leistung zu erhöhen. Der Motor wird dies automatisch auf seine eigene optimieren. Geben Sie nur Referenzen zurück, wenn Sie einen gültigen technischen Grund zu haben.

+0

Danke. Froh, dass ich gefragt habe, ob ich es machen würde! – Meep3D

Verwandte Themen