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;
}
?>因此,函名函數在呼叫的時候沒有函數名稱。我們可以採用以上的一些方法來使用匿名函數。


