Heim > Artikel > Backend-Entwicklung > Wie übergebe ich Parameter per Referenz in einer PHP-Funktion?
Im vorherigen Artikel haben wir gelernt, wie man Parameter bei der Übergabe von Parametern an Funktionen als Wert übergibt. Bitte lesen Sie „Wie übergebe ich Parameter als Wert in PHP-Funktionen?“ 》. Dieses Mal stellen wir Ihnen die Referenzübergabe bei der Übergabe von Parametern an Funktionen vor. Sie können bei Bedarf darauf zurückgreifen.
Schauen wir uns zunächst ein kleines Beispiel an, das uns hilft, die Referenzübergabe zu verstehen.
<?php function swap(&$a, &$b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>
Die Ausgabe ist
函数外,交换前 $x = 5, $y = 7 函数内,交换前 $a = 5, $b = 7 函数内,交换后 $a = 7, $b = 5 函数外,交换后 $x = 7, $y = 5
In diesem Beispiel können wir sehen, dass innerhalb der Funktion tatsächlich Werte ausgetauscht werden und außerhalb der Funktion auch Werte ausgetauscht werden.
Das ist der Unterschied zwischen der Übergabe per Referenz und der Übergabe von Parametern per Wert im vorherigen Artikel.
Bei der Parameterreferenzübergabe wird die Speicheradresse des Parameters kopiert und dann an den formalen Parameter der Funktion übergeben. Sowohl Parameter als auch formale Parameter zeigen auf dieselbe Speicheradresse. Daher wirkt sich die Operation der Funktion auf die formalen Parameter auf die Parameter außerhalb der Funktion aus.
Bei der Referenzübergabe wird die Speicheradresse des Parameters an den formalen Parameter der Funktion übergeben. Daher zeigen die Parameter und formalen Parameter auf dieselbe Speicheradresse. Zu diesem Zeitpunkt wirken sich alle Vorgänge innerhalb der Funktion auf die Werte von Parametern außerhalb der Funktion aus. Die Methode der Referenzübertragung besteht darin, ein <strong>&</strong>
-Symbol hinzuzufügen, wie unten gezeigt: <strong>&</strong>
符号,如下所示:
function name (&参数1, &参数2, ..., &参数3) { ... }
同时这个符号也是引用传递
与按值传递参数
rrreee
Referenzübertragung
und nach Wert Der Unterschied zwischen der Übergabe von Parametern
. Das ist alles zur Weitergabe. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →php-Video-Tutorial
🎜Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter per Referenz in einer PHP-Funktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!