av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

PHP基礎之函數1——用戶自定義函數

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

一個函數可由以下的語法來定義:

Example #1 展示函數用途的偽代碼

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

任何有效的 PHP 代碼都有可能出現在函數內部,甚至包括其它函數和類定義。

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

函數無需在調用之前被定義,除非是下面兩個例子中函數是有條件被定義時。

當一個函數是有條件被定義時,其定義必須在調用之前先處理。

Example #2 有條件的函數

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

Example #3 函數中的函數

<?phpfunction?foo(){??function?bar()??{????echo?'I?don’t?exist?until?foo()?is?called.n';??}}/*?現在還不能調用bar()函數,因為它還不存在?*/foo();/*?現在可以調用bar()函數了,因為foo()函數???的執行使得bar()函數變為已定義的函數?*/bar();?>

PHP 中的所有函數和類都具有全局作用域,可以定義在一個函數之內而在之外調用,反之亦然。

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

Note:?函數名是大小寫無關的,不過在調用函數的時候,使用其在定義時相同的形式是個好習慣。

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

在 PHP 中可以調用遞歸函數。但是要避免遞歸函數/方法調用超過 100-200 層,因為可能會使堆棧崩潰從而使當前腳本終止。

Example #4 遞歸函數

<?phpfunction?recursion($a){????if?($a?<?20)?{????????echo?'$an';????????recursion($a?+?1);????}}?>
標簽: PHP
相關文章:
主站蜘蛛池模板: 天天操网 | 999久久久久久久久6666 | 韩国主播午夜大尺度福利 | 五月综合久久 | 在线a视频网站 | 青青草av网站 | 激情综合五月 | 日韩欧美在线不卡 | 男女一区二区三区 | 狠狠夜夜| aaaa日韩 | 啪一啪在线视频 | 久久久久久a | 成人精品一区二区三区 | 成人久草 | 亚洲一二三区av | 中文字幕在线视频观看 | 国产成人精品一区二区三区在线 | av在线二区 | 日韩在线欧美 | 久久性| 亚洲乱码国产乱码精品精98午夜 | 国产高清精品一区二区三区 | 国产精品不卡一区二区三区 | 色综合成人网 | 久久综合九九 | 国产成人在线看 | 欧美日韩国产一区二区 | av在线成人 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 欧美精品v国产精品v日韩精品 | 免费精品国产 | 日韩高清中文字幕 | 欧美日韩高清在线一区 | 日韩一区二区三区在线 | 亚洲电影一区二区三区 | 女人毛片a毛片久久人人 | 在线观看视频你懂得 | 福利久久 | 日韩中文一区 | 一区二区三区四区国产 |