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

php函數之如何按值傳遞參數?

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

上一篇文章中我們了解了什麼是參數,如何去創建一個函數學習了形式參數和實際參數,有需要的請看《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 = 5, $y = 7

在這範例中,我們可以看到在函數內部,值確實是交換的,而在函數外部,值不會改變。

透過這個小例子。我們也大致了解了按值傳遞參數,以下我就來詳細介紹一下。

以值傳遞是PHP中函數的預設值傳遞方法,也稱為「複製值傳遞」。顧名思義,值轉移方法將複製參數的值,然後將其轉移到函數的形式參數。因此,在函數中操作參數的值不會影響函數外的參數。因此,如果不希望函數修改參數的值,可以按值傳遞。

就像上面那個例子一樣,在函數內部,值確實是交換的,而在函數外部,值不會改變。因此可以說,函數的值傳遞只是傳遞變數的副本。那麼要是想讓函數能夠操作函數外實參的話,就需要使用引用傳遞的方式了。

你想要的php知識在這裡   → →php影片教學

#

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

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