Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen der Wertübergabe und der Referenzübergabe an PHP

Der Unterschied zwischen der Wertübergabe und der Referenzübergabe an PHP

王林
王林Original
2019-09-10 17:54:192830Durchsuche

Der Unterschied zwischen der Wertübergabe und der Referenzübergabe an PHP

PHP-Wertübergabe: Das Ändern des Variablenwerts innerhalb des Funktionsumfangs hat keinen Einfluss auf den Variablenwert außerhalb der Funktion.

php by reference : Innerhalb des Funktionsumfangs werden alle Änderungen des Werts auch außerhalb der Funktion widergespiegelt, da die Speicheradresse per Referenz übergeben wird.

Erklärung mit Beispielen:

Wertübergabe: Es ist das Gleiche wie beim Kopieren. [Ich habe zum Beispiel ein Haus, das genau dem meinen entspricht. Was auch immer ich in meinem Haus tue, wird mich nicht beeinflussen werden Sie unabhängig voneinander beeinflussen. 】

<?php    
$testa=1;               //定义变量a 
$testb=2;               //定义变量b    
$testb = $testa;       //变量a赋值给变量b    
echo $testb;            //显示为1    
?>

Pass-by-reference: Ähnlich wie bei Zeigern in der C-Sprache fühlt es sich fast gleich an. Wenn ich Ihnen zum Beispiel einen Schlüssel gebe, können wir beide das Haus betreten. Was auch immer Sie im Haus tun, wird sich auf mich auswirken.

<?php    
$param2=1;               //定义变量2    
$param1 = &$param2;      //将变量2的引用传给变量1    
echo $param2;            //显示为1    
$param1 = 2;             //把2赋值给变量1    
echo $param2;            //显示为2    
?>

Vor- und Nachteile: Die Übergabe von Werten ist zeitaufwändig, insbesondere bei großen Zeichenfolgen und Objekten. Dies ist ein sehr teurer Vorgang, da Referenzen und Funktionen übertragen werden entspricht der Operation der übertragenen Variablen und ist effizient bei der Übertragung großer Variablen!

Empfohlenes Video-Tutorial: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen der Wertübergabe und der Referenzübergabe an PHP. 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