php自訂函數之匿名函數
所謂匿名,就是沒有名字。
匿名函數,也就是沒有函數名稱的函數。
匿名函數的第一種用法,直接把賦數賦值給變量,呼叫變數即為呼叫函數。
匿名函數的寫法比較靈活。
1.變數函數式的匿名函數
<?php $greet = function($name) { echo $name.',你好'; }; $greet('明天'); $greet('PHP中文网'); ?>
上例中的函數體沒有函數名,透過$greent加上括號來呼叫的,這就是匿名函數。
2.回呼式的匿名函數
我們將之前的範例拿過來。實際使用場景中,我們要透過一個函數來實現更多的功能。但是,我又不想專門定義一個函數。我們回顧一下,我們回呼函數的例子:
<?php function woziji($one,$two,$func){ //我规定:检查$func是否是函数,如果不是函数停止执行本段代码,返回false if(!is_callable($func)){ return false; } //我把$one、$two相加,再把$one和$two传入$func这个函数中处理一次 //$func是一个变量函数,参见变量函数这一章 echo $one + $two + $func($one,$two); } woziji(20,30,function( $foo , $bar){ $result = ($foo+$bar)*2; return $result; } ); ?>
仔細推理一下過程喲。只不過在先前的章節當中,plusx2換成了我們的匿名函數:
<?php function( $foo , $bar){ $result = ($foo+$bar)*2; return $result; } ?>
因此,函名函數在呼叫的時候沒有函數名稱。我們可以採用以上的一些方法來使用匿名函數。