什么是變量函數和匿名函數

2016-09-28 1535 2 編輯:深色多郎 來源:程序書籍

變量函數類似于可變變量,它的函數名為變量。使用變量函數可實現通過改變變量值得方法調用不同的函數。代碼如下:

$func='noHtml';//講一個函數名賦值給變量

echo $func($str);//相當于echo noHtml($str),輸出結果為"abc"

$func='right';

echo $func($str,7);//相當于echo right($str,7),輸出結果為"</font>"

可見,當某個變量名后有小括號是,PHP就回去找這個變量的值,然后運行和該值同名的函數。但變量函數不能用于語言結構,如變量值不能為echo、print、isset、empty、include、require等。

在PHP5.3以上版本中,開始支持匿名函數。匿名函數就是沒有函數名的函數,例如:

<? $gret=function($name){//定義匿名函數,并將其賦給變量$greet

   echo 'hello'.$name;};

   $greet('World');//調用匿名函數,輸出hello World

   $greet('PHP');

?>

可見,為了調用匿名函數,常將匿名函數賦給一個變量,那么該變量就相當于函數名。但是用匿名函數更重要的原因,是為了實現函數的閉包。

牛逼代碼

本站文章均為深正網站建設摘自權威資料,書籍,或網絡原創文章,如有版權糾紛或者違規問題,請即刻聯系我們刪除,我們歡迎您分享,引用和轉載,但謝絕直接搬磚和抄襲!感謝...
關注深正互聯
七星彩头尾