您好,登錄后才能下訂單哦!
這篇文章主要介紹“php函數(shù)的參數(shù)賦值有哪些”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“php函數(shù)的參數(shù)賦值有哪些”文章能幫助大家解決問(wèn)題。
php函數(shù)的參數(shù)賦值有3種:1、值傳遞賦值,將實(shí)參的值復(fù)制一份再賦值給函數(shù)的形參;2、引用傳遞賦值,把實(shí)參的內(nèi)存地址復(fù)制一份,然后傳遞給函數(shù)的形參,進(jìn)而將實(shí)參值賦值給形參;3、直接給函數(shù)的參數(shù)指定默認(rèn)值,語(yǔ)法“函數(shù)名(參數(shù)變量='值')”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
php函數(shù)的參數(shù)賦值有3種:
1、值傳遞賦值
2、引用傳遞賦值
3、默認(rèn)參數(shù)值
下面給大家詳細(xì)介紹一下。
1、值傳遞賦值
值傳遞是 PHP 中函數(shù)的默認(rèn)傳值方式,也稱為“拷貝傳值”。
顧名思義值賦值的方式會(huì)將實(shí)參的值復(fù)制一份再傳遞給函數(shù)的形參,所以在函數(shù)中操作參數(shù)的值并不會(huì)對(duì)函數(shù)外的實(shí)參造成影響。
因此如果不希望函數(shù)修改實(shí)參的值,就可以通過(guò)值傳遞的方式。
示例:
<?php header('content-type:text/html;charset=utf-8'); function swap($a, $b){ echo '函數(shù)內(nèi),交換前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函數(shù)內(nèi),交換后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函數(shù)外,交換前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函數(shù)外,交換后 $x = '.$x.', $y = '.$y; ?>
2、引用傳遞賦值
參數(shù)的引用傳遞就是把實(shí)參的內(nèi)存地址復(fù)制一份,然后傳遞給函數(shù)的形參,進(jìn)而將實(shí)參值賦值給形參。
實(shí)參和形參都指向同一個(gè)內(nèi)存地址,因此函數(shù)對(duì)形參的操作,會(huì)影響到函數(shù)外的實(shí)參。
按引用傳遞就是將實(shí)參的內(nèi)存地址傳遞到函數(shù)的形參中。因此實(shí)參和形參指向的是同一個(gè)內(nèi)存地址。這時(shí)在函數(shù)內(nèi)部的所有操作都會(huì)影響到函數(shù)外實(shí)參的值。引用傳遞的方式就是在值傳遞的基礎(chǔ)上加上一個(gè)&
符號(hào),如下所示:
function name (&參數(shù)1, &參數(shù)2, ..., &參數(shù)3) { ... }
示例:
<?php header('content-type:text/html;charset=utf-8'); function swap(&$a, &$b){ echo '函數(shù)內(nèi),交換前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函數(shù)內(nèi),交換后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函數(shù)外,交換前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函數(shù)外,交換后 $x = '.$x.', $y = '.$y; ?>
3、默認(rèn)參數(shù)值
默認(rèn)參數(shù)就是給函數(shù)的某個(gè)或多個(gè)形式參數(shù)指定一個(gè)默認(rèn)的值,如果調(diào)用函數(shù)時(shí)不傳入對(duì)應(yīng)的值,那么函數(shù)就會(huì)使用這個(gè)默認(rèn)值,這樣可以避免調(diào)用時(shí)出現(xiàn)沒(méi)有參數(shù)的錯(cuò)誤,也可以使一些程序顯得更加合理。如果傳入對(duì)應(yīng)的參數(shù),就會(huì)替換這個(gè)默認(rèn)值。
函數(shù)的默認(rèn)參數(shù)如下所示:
function name ($str = '默認(rèn)值', $url) { echo $str; }
形參與默認(rèn)值之間需要使用=
連接。
示例:
<?php function add($a, $b=56){ echo $a.' + '.$b.' = '.($a+$b).'<br>'; } add(11); add(37, 29); ?>
默認(rèn)參數(shù)也可以是多個(gè),而且默認(rèn)參數(shù)必須放在非默認(rèn)參數(shù)右邊,并且指定默認(rèn)參數(shù)的值必須是一個(gè)具體的值,如數(shù)字、字符串,而不能是一個(gè)變量。
<?php function add($a, $b=33, $c=57){ echo $a.' + '.$b.' + '.$c.' = '.($a+$b+$c).'<br>'; } add(11); add(31, 22); add(64, 9, 7); ?>
關(guān)于“php函數(shù)的參數(shù)賦值有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。