php如何自定義一個(gè)方法

發(fā)布時(shí)間:2024-02-21
在php中可以通過【function foo($arg_1, $arg_2, /* …, */ $arg_n){echo "example function.\\\\n";return $retval;}】形式定義一個(gè)方法。
推薦:《php視頻教程》
用戶自定義函數(shù)
一個(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)識(shí)符命名規(guī)則相同。有效的函數(shù)名以字母或下劃線打頭,后面跟字母,數(shù)字或下劃線??梢杂谜齽t表達(dá)式表示為:^[a-za-z_\\\\x80-\\\\xff][a-za-z0-9_\\\\x80-\\\\xff]*$。
tip
請(qǐng)參見用戶空間命名指南。
函數(shù)無需在調(diào)用之前被定義,除非是下面兩個(gè)例子中函數(shù)是有條件被定義時(shí)。
當(dāng)一個(gè)函數(shù)是有條件被定義時(shí),必須在調(diào)用函數(shù)之前定義。
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: 從 a 到 z 的 ascii 函數(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ù)。
example #4 遞歸函數(shù)
<?phpfunction recursion($a){ if ($a < 20) { echo "$a\\\\n"; recursion($a 1); }}?>note: 但是要避免遞歸函數(shù)/方法調(diào)用超過 100-200 層,因?yàn)榭赡軙?huì)使堆棧崩潰從而使當(dāng)前腳本終止。 無限遞歸可視為編程錯(cuò)誤。
上一個(gè):RC1210FR-072M2L,1210 2.2MΩ 1% 1/2W 電阻
下一個(gè):婚前子女撫養(yǎng)協(xié)議書有效嗎

星巴克之后,麥當(dāng)勞亦上線咖啡外送,中國(guó)咖啡市場(chǎng)競(jìng)爭(zhēng)白熱化!
輕鋼龍骨紙面石膏板隔墻施工要點(diǎn)有哪些?
強(qiáng)奸未插入算不算既遂
微軟賬戶禁用無法進(jìn)入系統(tǒng)怎么辦(微軟賬戶封鎖怎么辦)
圖種手機(jī)怎么用,求圖種的使用方法
量產(chǎn)u盤怎么修復(fù)u盤(u盤量產(chǎn)怎么設(shè)置可以恢復(fù)初始容量)
苗木移栽呈假死現(xiàn)象 該采取哪些補(bǔ)救措施
cc域名的發(fā)展和終端應(yīng)用
蘋果手機(jī)哪款值得買百度知道(蘋果手機(jī)值得買的三款)
臺(tái)式計(jì)算機(jī)編號(hào)怎么查,怎么查看電腦編號(hào)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos