Heim > Backend-Entwicklung > PHP-Tutorial > &Anführungszeichen in PHP

&Anführungszeichen in PHP

WBOY
Freigeben: 2016-08-18 09:16:06
Original
968 Leute haben es durchsucht

In manchen Frameworks sieht man bei Funktionen manchmal Variablen vom Typ &$arr. Ich habe nur herausgefunden, dass es sich hierbei um eine Referenz handelt sind die Nachteile dieser Verwendung

Antwortinhalt:

In manchen Frameworks sieht man bei Funktionen manchmal Variablen vom Typ &$arr. Ich habe nur herausgefunden, dass es sich hierbei um eine Referenz handelt sind die Nachteile dieser Verwendung

Wenn beispielsweise der ursprüngliche Wert geändert werden muss, habe ich eine Funktion, die mehrere Werte ausgeben muss,

Der Fragesteller sollte wissen, dass PHP nur einen Wert zurückgeben kann, natürlich können Sie Array-Paketierung verwenden

<code><?php
function test(&$a,&$b){
    $a = 1;
    $b = 1;
}

test($a,$b);
echo $a,"@",$b;</code>
Nach dem Login kopieren

Sie können die Ausgabe sehen

<code>1@1</code>
Nach dem Login kopieren

Eine andere Situation besteht darin, dass bei Verwendung eines großen Arrays eine Speicherkopie weggelassen werden kann, um Speicheraufwand zu sparen

<code class="php">$a = "china";
$b = &$a;</code>
Nach dem Login kopieren

Auf diese Weise muss PHP nur eine Kopie der Daten speichern. Daher müssen beim Programmieren große Variablen im Allgemeinen als Referenz übergeben werden, um Speicherressourcen zu sparen. Bei PHP-Funktionsparameteraufrufen werden Objekte standardmäßig als Referenz übergeben.

Was Sie fragen möchten, ist

<code>function (&$arr) {}
</code>
Nach dem Login kopieren

Ist dies die Art und Weise, wie man es verwendet?

Dieses Ding wird verwendet, um die Variable $arr selbst zu ändern. Da es sich bei der Funktion um einen geschlossenen Raum handelt, ändern sich die Variablen außerhalb nicht, wenn Sie $arr in der Funktion ändern. Sie können dies verwenden, wenn Sie return nicht verwenden möchten, um die geänderte Variable zurückzugeben.

Zum Beispiel
bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Mit dieser Funktion können Sie sehen, dass der Rückgabewert vom Typ Bool ist, aber auch ein geändertes Array zurückgeben kann.
Dies geschieht durch die Verwendung des &-Referenzsymbols.

Weil der von einem Array übergebene Standardwert völlig anders ist als der eines Objekts. Durch die Übergabe eines Werts wird eine Kopie erstellt, und im Gegensatz zu Dingen wie Ganzzahlen und Gleitkommazahlen haben Arrays viel Inhalt und der durch das Kopieren verursachte Overhead ist hoch, sodass im Allgemeinen die Übergabe eines Werts erzwungen wird.

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage