首頁 >後端開發 >php教程 >php函數之如何引用傳遞參數?

php函數之如何引用傳遞參數?

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-07-29 14:59:236188瀏覽

上一篇文章中我們了解了向函數傳遞參數中的按值傳遞,有需要的請看《php函數之如何按值傳遞參數? 》。這次我們向大家介紹向函數傳遞參數中的引用傳遞,有需要的可以參考參考。

我們先來看一個小例子,以便我們理解引用傳遞。

<?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;
?>

輸出結果是

函数外,交换前 $x = 5, $y = 7
函数内,交换前 $a = 5, $b = 7
函数内,交换后 $a = 7, $b = 5
函数外,交换后 $x = 7, $y = 5

在這個例子中,我們可以看到在函數內部,值確實是交換的,而在函數外部,值也交換了。

這就是引用傳遞與上一篇文章的按值傳遞參數的區別。

參數參考傳遞是複製參數的記憶體位址,然後將其傳遞給函數的形式參數。參數和形式參數都指向相同的記憶體位址。因此,函數對形式參數的操作將影響函數外部的參數。

透過引用傳遞是將參數的記憶體位址傳遞給函數的形式參數。因此,參數和形式參數指向相同的記憶體位址。此時,函數內的所有操作都會影響函數外參數的值。參考轉移的方法是新增一個<strong>&</strong>符號,如下:

function name (&参数1, &参数2, ..., &参数3) {
  ...  
}

同時這個符號也是引用傳遞按值傳遞參數的區別。

引用傳遞就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學

#

以上是php函數之如何引用傳遞參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn