国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

PHP基礎之函數2——函數參數

瀏覽:23日期:2022-09-14 16:33:55

通過參數列表可以傳遞信息到函數,即以逗號作為分隔符的表達式列表。參數是從左向右求值的。

PHP 支持按值傳遞參數(默認),通過引用傳遞參數以及默認參數。也支持可變長度參數列表,更多信息參見?func_num_args(),?func_get_arg()?以及?func_get_args()。

Example #1 向函數傳遞數組

<?php function?takes_array($input) ??? echo?'$input[0]?+?$input[1]?=?',?$input[0]+$input[1];}?>通過引用傳遞參數

默認情況下,函數參數通過值傳遞(因而即使在函數內部改變參數的值,它并不會改變函數外部的值)。如果希望允許函數修改它的參數值,必須通過引用傳遞參數。 如果想要函數的一個參數總是通過引用傳遞,可以在函數定義中該參數的前面加上符號 &:

Example #2 用引用傳遞函數參數

<?phpfunction?add_some_extra(&$string){????$string?.=?’and?something?extra.’;}$str?=?’This?is?a?string,?’;add_some_extra($str);echo?$str;????//?outputs?’This?is?a?string,?and?something?extra.’?>默認參數的值

函數可以定義 C++ 風格的標量參數默認值,如下所示:

Example #3 在函數中使用默認參數

<?phpfunction?makecoffee($type?=?'cappuccino'){????return?'Making?a?cup?of?$type.n';}echo?makecoffee();echo?makecoffee(null);echo?makecoffee('espresso');?>以上例程會輸出:

Making a cup of cappuccino.Making a cup of .Making a cup of espresso.

PHP 還允許使用數組?array?和特殊類型?NULL?作為默認參數,例如:

Example #4 使用非標量類型作為默認參數

<?phpfunction?makecoffee($types?=?array('cappuccino'),?$coffeeMaker?=?NULL){???$device?=?is_null($coffeeMaker)???'hands'?:?$coffeeMaker;???return?'Making?a?cup?of?'.join(',?',?$types).'?with?$device.n';}echo?makecoffee();echo?makecoffee(array('cappuccino',?'lavazza'),?'teapot');?>

默認值必須是常量表達式,不能是諸如變量,類成員,或者函數調用等。

注意當使用默認參數時,任何默認參數必須放在任何非默認參數的右側;否則,函數將不會按照預期的情況工作。考慮下面的代碼片斷:

Example #5 函數默認參數的不正確用法

<?phpfunction?makeyogurt($type?=?'acidophilus',?$flavour){????return?'Making?a?bowl?of?$type?$flavour.n';}echo?makeyogurt('raspberry');???//?won’t?work?as?expected?>

以上例程會輸出:

Warning: Missing argument 2 in call to makeyogurt() in /usr/local/etc/httpd/htdocs/phptest/functest.html on line 41Making a bowl of raspberry .

現在,比較上面的例子和這個例子:

Example #6 函數默認參數正確的用法

<?phpfunction?makeyogurt($flavour,?$type?=?'acidophilus'){????return?'Making?a?bowl?of?$type?$flavour.n';}echo?makeyogurt('raspberry');???//?works?as?expected?>

以上例程會輸出:

Making a bowl of acidophilus raspberry.

Note:?自 PHP 5 起,默認值可以通過引用傳遞。

可變數量的參數列表

PHP 在用戶自定義函數中支持可變數量的參數列表。其實很簡單,只需使用?func_num_args(),?func_get_arg(),和?func_get_args()?函數即可。

可變參數并不需要特別的語法,參數列表仍按函數定義的方式傳遞給函數,并按通常的方式使用這些參數。

標簽: PHP
相關文章:
主站蜘蛛池模板: 性生活免费视频网站 | 国内精品一区二区三区最新 | 能直接看的一级欧美毛片 | 欧美jizz18性欧美 | 亚洲羞羞裸色私人影院 | 国产成人免费福利网站 | 欧美在线观看不卡 | 成年男女免费视频网站 | 亚洲精品国产高清不卡在线 | 神马最新午夜限制片 | 日韩毛片欧美一级国产毛片 | 国模肉肉人体大尺度啪啪 | 欧美激情性色生活片在线观看 | 久久久99精品免费观看 | 久久久免费观成人影院 | 一级毛片免费观看视频 | 欧美黄免在线播放 | 国产三级日产三级日本三级 | 亚洲精品欧美精品国产精品 | 九九九九九九 | 亚洲日韩中文字幕在线播放 | 不卡午夜| 台湾三级香港三级经典三在线 | 欧美一区二区三区免费看 | 一级特黄性色生活片一区二区 | 国产一级做a爰片久久毛片 国产一级做a爰片久久毛片99 | 国产在线爱做人成小视频 | 欧美日韩不卡一区 | 日韩精品永久免费播放平台 | 2345成人高清毛片 | 亚洲欧美精品成人久久91 | 欧美视频在线观看一区二区 | 91精品国产综合久久欧美 | 国产第一页久久亚洲欧美国产 | 国产人成午夜免费噼啪视频 | 手机看片神马午夜片 | 精品一区二区视频 | 岛国在线免费观看 | 日韩欧美不卡在线 | 久久伊人免费视频 | 日韩一级黄色毛片 |