php函式引用傳遞引數的方法

joytoy發表於2021-09-11

php函式引用傳遞引數的方法

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

  function swap(&$a, &$b){
    echo '函式內,交換前 $a = '.$a.', $b = '.$b.'
';
    $temp = $a;
    $a = $b;
    $b = $temp;
    echo '函式內,交換後 $a = '.$a.', $b = '.$b.'
';
  }
  $x = 5;
  $y = 7;
  echo '函式外,交換前 $x = '.$x.', $y = '.$y.'
';
  swap($x, $y);
  echo '函式外,交換後 $x = '.$x.', $y = '.$y;
?>

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

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

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

function name (&引數1, &引數2, ..., &引數3) {
  ...
}

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

以上就是php函式引用傳遞引數的方法,希望對大家有所幫助。更多php學習指路:

本文轉載於php中文網,如有侵犯聯絡作者修改。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4650/viewspace-2828740/,如需轉載,請註明出處,否則將追究法律責任。

相關文章