久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

PHP基礎(chǔ)之函數(shù)1——用戶自定義函數(shù)

瀏覽:3日期:2022-09-14 16:33:43

一個(gè)函數(shù)可由以下的語法來定義:

Example #1 展示函數(shù)用途的偽代碼

<?phpfunction?foo($arg_1,?$arg_2,?/*?...,?*/?$arg_n){????echo?'Example?function.n';????return?$retval;}?>

任何有效的 PHP 代碼都有可能出現(xiàn)在函數(shù)內(nèi)部,甚至包括其它函數(shù)和類定義。

函數(shù)名和 PHP 中的其它標(biāo)識符命名規(guī)則相同。有效的函數(shù)名以字母或下劃線打頭,后面跟字母,數(shù)字或下劃線。可以用正則表達(dá)式表示為:[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*。

函數(shù)無需在調(diào)用之前被定義,除非是下面兩個(gè)例子中函數(shù)是有條件被定義時(shí)。

當(dāng)一個(gè)函數(shù)是有條件被定義時(shí),其定義必須在調(diào)用之前先處理。

Example #2 有條件的函數(shù)

<?php$makefoo?=?true;/*?不能在此處調(diào)用foo()函數(shù),???因?yàn)樗€不存在,但可以調(diào)用bar()函數(shù)。*/bar();if?($makefoo)?{??function?foo()??{????echo?'I?don’t?exist?until?program?execution?reaches?me.n';??}}/*?現(xiàn)在可以安全調(diào)用函數(shù)?foo()了,???因?yàn)?$makefoo?值為真?*/if?($makefoo)?foo();function?bar(){??echo?'I?exist?immediately?upon?program?start.n';}?>

Example #3 函數(shù)中的函數(shù)

<?phpfunction?foo(){??function?bar()??{????echo?'I?don’t?exist?until?foo()?is?called.n';??}}/*?現(xiàn)在還不能調(diào)用bar()函數(shù),因?yàn)樗€不存在?*/foo();/*?現(xiàn)在可以調(diào)用bar()函數(shù)了,因?yàn)閒oo()函數(shù)???的執(zhí)行使得bar()函數(shù)變?yōu)橐讯x的函數(shù)?*/bar();?>

PHP 中的所有函數(shù)和類都具有全局作用域,可以定義在一個(gè)函數(shù)之內(nèi)而在之外調(diào)用,反之亦然。

PHP 不支持函數(shù)重載,也不可能取消定義或者重定義已聲明的函數(shù)。

Note:?函數(shù)名是大小寫無關(guān)的,不過在調(diào)用函數(shù)的時(shí)候,使用其在定義時(shí)相同的形式是個(gè)好習(xí)慣。

PHP 的函數(shù)支持可變數(shù)量的參數(shù)和默認(rèn)參數(shù)。參見?func_num_args(),?func_get_arg()?和?func_get_args()。

在 PHP 中可以調(diào)用遞歸函數(shù)。但是要避免遞歸函數(shù)/方法調(diào)用超過 100-200 層,因?yàn)榭赡軙苟褩1罎亩巩?dāng)前腳本終止。

Example #4 遞歸函數(shù)

<?phpfunction?recursion($a){????if?($a?<?20)?{????????echo?'$an';????????recursion($a?+?1);????}}?>
標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 武宣县| 玛曲县| 涞源县| 哈巴河县| 余干县| 象山县| 彩票| 通化县| 仁化县| 嘉黎县| 永川市| 富平县| 伊宁县| 百色市| 泸定县| 兰溪市| 铜山县| 阿克苏市| 湾仔区| 镇沅| 黔西县| 福贡县| 华宁县| 吕梁市| 临沭县| 古田县| 沙坪坝区| 铜鼓县| 克拉玛依市| 区。| 徐闻县| 九江县| 江西省| 文成县| 商丘市| 咸宁市| 江津市| 鹤岗市| 永安市| 仙游县| 广西|