想想JavaScript当中是否有这个概念?
- 所谓匿名,就是没有名字。
- 匿名函数,也就是没有函数名的函数。
- 匿名函数的第一种用法,直接把赋数赋值给变量,调用变量即为调用函数。
- 匿名函数的写法比较灵活。
1.变量函数式的匿名函数
<?php
$greet = function($name){
echo $name.',你好';
};
$greet('明天');
$greet('胖先生');
?>
函数体没有函数名,通过$greent 加上括号
来调用的,这就是匿名函数。
2.回调式的匿名函数
我们将之前的例子拿过来。实际使用场景中,我们要通过一个函数实现更多的功能。但是,我又不想专门定义一个函数。我们回顾一下,我们回调函数的例子:
<?php
function demo($one,$two,$func){
//我规定:检查$func是否是函数,如果不是函数停止执行本段代码,返回false
if(!is_callable($func)){
return false;
}
//我把$one、$two相加,再把$one和$two传入$func这个函数中处理一次
//$func是一个变量函数,参见变量函数这一章
echo $one + $two + $func($one,$two);
}
demo(20,30,function( $foo , $bar){
$result = ($foo+$bar)*2;
return $result;
}
);
?>
想一想
<?php
function( $foo , $bar){
$result = ($foo+$bar)*2;
return $result;
}
?>
plusx2换成了我们的匿名函数
,匿名函数在调用的时候没有函数名。