Heim  >  Artikel  >  Backend-Entwicklung  >  Wie gehen PHP-Funktionen mit Variablenreferenzen um?

Wie gehen PHP-Funktionen mit Variablenreferenzen um?

WBOY
WBOYOriginal
2024-04-11 08:15:01758Durchsuche

Variablenübergabemethoden in PHP-Funktionen: Wertübergabe: Die Funktion empfängt eine Kopie des Variablenwerts und Änderungen an der Kopie wirken sich nicht auf die Originalvariable aus. Übergabe als Referenz: Mithilfe des &-Symbols können Sie als Referenz übergeben und die Funktion kann den Wert der ursprünglichen Variablen direkt ändern.

PHP 函数如何处理变量引用?

PHP-Funktions- und Variablenreferenz

Wenn Sie in PHP Variablen als Funktionsparameter übergeben, müssen Sie wissen, wie mit Variablenreferenzen umgegangen wird. Es gibt zwei Arten von Variablenreferenzen: die Übergabe als Wert und die Übergabe als Referenz.

Wertübergabe

Standardmäßig verwendet PHP die Wertübergabe, was bedeutet, dass die Funktion eine Kopie des Variablenwerts erhält. Etwaige Änderungen an dieser Kopie wirken sich nicht auf den Wert der Originalvariablen aus.

function test1($a) {
  $a += 10;  // 修改副本的值
}

$a = 10;
test1($a);
echo $a;  // 输出 10,原始值不受影响

Referenzübergabe

Referenzübergabe kann durch Übergabe von Variablenreferenzen in der &-Notation erreicht werden. Dadurch kann die Funktion den Wert der ursprünglichen Variablen direkt ändern.

function test2(&$a) {
  $a += 10;  // 修改原始变量的值
}

$a = 10;
test2($a);
echo $a;  // 输出 20,原始值被修改

Praktisches Beispiel

Stellen Sie sich eine Funktion swap() vor, die die Werte zweier Variablen vertauscht:

function swapByValue($a, $b) {
  // 值传递,交换副本的值
  $temp = $a;
  $a = $b;
  $b = $temp;
}

function swapByReference(&$a, &$b) {
  // 引用传递,直接交换原始变量的值
  list($a, $b) = [$b, $a];
}

$x = 10;
$y = 20;

swapByValue($x, $y);
echo "x = $x, y = $y\n";  // x = 10, y = 20

swapByReference($x, $y);
echo "x = $x, y = $y\n";  // x = 20, y = 10

Im ersten Beispiel funktioniert das Vertauschen durch Wertübergabe nicht, da das Ändern des Werts der Kopie keine Auswirkung auf das Original hat Variable. Im zweiten Beispiel wird die Übergabe als Referenz verwendet, um den Austausch zu implementieren und so den Wert der ursprünglichen Variablen erfolgreich zu ändern.

Das obige ist der detaillierte Inhalt vonWie gehen PHP-Funktionen mit Variablenreferenzen um?. 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