函數(shù)返回值
使用return關(guān)鍵字可以返回函數(shù)值。如果在一個函數(shù)體內(nèi)調(diào)用return語句,將立即結(jié)束該函數(shù)的執(zhí)行,并將它的參數(shù)作為函數(shù)的值返回。如:
<?phpfunction square($n){ return $n * $n;}echo square(5); //返回25?>
如果在全局范圍中調(diào)用return語句,則當前腳本文件將中止運行。如果當前腳本文件是被in-clude的或者require的,則控制交回調(diào)用文件。return也會終止eval語句或者腳本文件的執(zhí)行。
返回值可以包括數(shù)組和對象的任意類型。但是函數(shù)不能返回多個值,但可以通過返回一個數(shù)組來得到類似的效果。如:
<?phpfunction small_n (){ return array (0, 1, 2);}list ($zero, $one, $two) = small_n();?>
如果需要函數(shù)返回一個引用,必須在函數(shù)聲明和指派返回值給一個變量時都使用引用操作符&。如:
<?phpfunction &foo(){ return return $ref;}$newref = &foo();?>
可變函數(shù)
PHP支持可變函數(shù),即如果一個變量名后有圓括號,PHP將尋找與變量的值同名的函數(shù),并且嘗試執(zhí)行它。可變函數(shù)可以用來實現(xiàn)包括回調(diào)函數(shù)、函數(shù)表在內(nèi)的一些用途。下面通過一個示例體會什么是可變函數(shù)。
<?phpfunction fun1(){ echo "函數(shù)1<p>";}function fun2(){ echo "函數(shù)2<p>";}$m = "fun1";$m(); //調(diào)用fun1函數(shù)$m = "fun2";$m(); //調(diào)用fun2函數(shù)?>
通過上面示例可以看到,函數(shù)的調(diào)用是通過改變變量的變量名實現(xiàn)的,通過在變量名后面加上一對小括號,PHP就會自動尋找與變量名相同的函數(shù),并且執(zhí)行它,如果找不到對應(yīng)的函數(shù),則系統(tǒng)會自動報錯。
取消引用
當不需要引用時,可以使用unset()函數(shù)取消引用。該函數(shù)能夠斷開變量名與引用的內(nèi)容之間的聯(lián)系,而不是銷毀變量內(nèi)容。如:
<?php$a = 1;$b = &$a; //定義引用echo $b; //顯示1unset($b); //取消引用echo $b; //顯示空?>
當前文章標題:PHP函數(shù)(2)
當前URL:http://www.gtalker.cn/news/wzzz/3248.html
上一篇:PHP函數(shù)(1)
下一篇:PHP類和對象(1)