Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen der Wertübergabe und der Referenzübergabe in PHP?

Was ist der Unterschied zwischen der Wertübergabe und der Referenzübergabe in PHP?

王林
王林Original
2020-06-30 10:45:152929Durchsuche

Der Unterschied zwischen der Wertübergabe und der Referenzübergabe in PHP ist: Bei der Wertübergabe hat die Änderung der Größe des Variablenwerts innerhalb des Funktionsbereichs keinen Einfluss auf den Variablenwert außerhalb der Funktion Innerhalb des Funktionsumfangs wird die Größe des Variablenwerts nicht beeinflusst, und alle Änderungen am Wert werden außerhalb der Funktion widergespiegelt, und die Speicheradresse wird als Referenz übergeben.

Was ist der Unterschied zwischen der Wertübergabe und der Referenzübergabe in PHP?

Differenzanalyse:

PHP-Wertübergabe: Wenn die Größe des Variablenwerts im Rahmen der Funktion geändert wird, Es hat keinen Einfluss auf den Variablenwert außerhalb der Funktion.

PHP-Referenzübergabe: Innerhalb des Funktionsumfangs werden alle Änderungen am Wert außerhalb der Funktion widergespiegelt, da die Referenzübergabe die Speicheradresse übergibt.

Beispielanalyse:

Übergabewert:

ist dasselbe wie Kopieren. Ich habe zum Beispiel ein Haus und ich gebe dir Baumaterial, das genau dem meinen entspricht. Was auch immer du in deinem Haus tust, wird mich nicht beeinflussen Sie beeinflussen Sie, sie sind unabhängig voneinander.

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

Übergabereferenz:

Es ähnelt Zeigern in der C-Sprache und fühlt sich fast genauso 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
?>

Die Übergabe von Werten ist zeitaufwändig, insbesondere bei großen Zeichenfolgen und Objekten. Die Übertragung von Referenzen ist gleichbedeutend mit der Übertragung von Variablen bei der Übertragung großer Variablen!

Wenn Sie mehr über verwandte Themen erfahren möchten, besuchen Sie bitte die php-chinesische Website.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen der Wertübergabe und der Referenzübergabe in 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