您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(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é)果:
可變長度參數(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é)果為:
感謝各位的閱讀!關(guān)于“php函數(shù)參數(shù)的傳遞方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發(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)容。