Heim  >  Artikel  >  Backend-Entwicklung  >  Wie übergebe ich Parameter per Referenz in einer PHP-Funktion?

Wie übergebe ich Parameter per Referenz in einer PHP-Funktion?

醉折花枝作酒筹
醉折花枝作酒筹Original
2021-07-29 14:59:236141Durchsuche

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 &#39;函数内,交换前 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
    $temp = $a;
    $a = $b;
    $b = $temp;
    echo &#39;函数内,交换后 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
  }

  $x = 5;
  $y = 7;
  echo &#39;函数外,交换前 $x = &#39;.$x.&#39;, $y = &#39;.$y.&#39;<br>&#39;;
  swap($x, $y);
  echo &#39;函数外,交换后 $x = &#39;.$x.&#39;, $y = &#39;.$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

Gleichzeitig ist dieses Symbol auch 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!

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