溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php函數(shù)參數(shù)的傳遞方法

發(fā)布時間:2021-03-18 12:33:22 來源:億速云 閱讀:331 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)php函數(shù)參數(shù)的傳遞方法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

在調(diào)用函數(shù)時,需要向函數(shù)傳遞參數(shù),被傳入函數(shù)的參數(shù)稱為實參,而函數(shù)定義的參數(shù)稱為形參。而向函數(shù)傳遞參數(shù)的方式有四種,分別是值傳遞、引用傳遞、默認參數(shù)和可變長度參數(shù)。

按值傳遞參數(shù)

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

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

運行結(jié)果:

11
10

通過運行結(jié)果可以看到,在函數(shù)內(nèi),數(shù)值確實是發(fā)生變化了,而在函數(shù)外部,數(shù)值卻沒有變化。因此可以說,函數(shù)的值傳遞只是傳遞變量的副本。那么要是想讓函數(shù)能夠操作函數(shù)外實參的話,就需要使用引用傳遞的方式了。

按引用傳遞參數(shù)

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

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

其運行結(jié)果為:

11
11

函數(shù)的默認參數(shù)

可以給形式參數(shù)設(shè)置默認值,直接賦值就可以設(shè)置

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

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

其運行結(jié)果為:45,如果只給$a賦值,在調(diào)用的時候給$b賦值,那將會顯示如下結(jié)果:

php函數(shù)參數(shù)的傳遞方法

可變長度參數(shù)列表

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

<?php
    function test(...$arr){
        print_r($arr);
    }
    echo '<pre>';
    test(1, 2, 3, 4);
?>

我們可以看到,他的運行結(jié)果為:

php函數(shù)參數(shù)的傳遞方法

感謝各位的閱讀!關(guān)于“php函數(shù)參數(shù)的傳遞方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI