搜尋
首頁後端開發PHP問題圖文詳解php函數參數的幾種傳遞方式

在呼叫函數時,需要向函數傳遞參數,被傳入函數的參數稱為實參,而函數定義的參數稱為形參。而傳遞參數給函數的方式有四種,分別是值傳遞、引用傳遞、預設參數、可變長度參數。

以值傳遞參數

預設的傳參方式,我們在傳遞參數的時候預設使用的就是這個方式,對形式參數的操作,不會影響到實際參數的值。因此如果不希望函數修改實參的值,就可以透過值傳遞的方式。

<?php
function test($a){
  echo ++$a;
}
$i=10;
test($i);
echo &#39;<br/>&#39;.$i;
?>

運行結果:

11
10

透過運行結果可以看到,在函數內,數值確實是改變了,而在函數外部,數值卻沒有變化。因此可以說,函數的值傳遞只是傳遞變數的副本。那麼要是想讓函數能夠操作函數外實參的話,就需要使用引用傳遞的方式了。

依引用傳遞參數

按引用傳遞參數,對形式參數的操作會影響實際參數。這樣我們在函數內部就是對這個參數本身進行操作。

<?php
function test(&$a){
  echo ++$a;
}
$i=10;
test($i);
echo &#39;<br/>&#39;.$i;
?>

其運行結果為:

11
11

函數的預設參數

可以給形式參數設定預設值,直接賦值就可以設定

注意:必須從右往左賦值,右邊的必須要有,才能給左邊的賦值,如果只給左邊的賦值,而不給右邊的賦值,左邊的賦值將不作數

<?php
function test($a=10,$b=20){
  echo $a+$b;
}
test(20,25);
?>

其運行結果為:45,如果只給$a賦值,在呼叫的時候給$b賦值,那將會顯示如下結果:

圖文詳解php函數參數的幾種傳遞方式

可變長度參數列表

在PHP 5.6 及以後的版本中,函數的形式參數可使用…來表示函數可接受一個可變數量的參數,可變參數將會被當作一個陣列傳遞給函數。

<?php
    function test(...$arr){
        print_r($arr);
    }
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    test(1, 2, 3, 4);
?>

我們可以看到,他的運行結果為:

圖文詳解php函數參數的幾種傳遞方式

#推薦學習:《PHP影片教學

以上是圖文詳解php函數參數的幾種傳遞方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境