回调函数和匿名函数的意义
回调函数:
简单的讲就是在调用函数的时候,通过在形参传入一个函数(我们称他为回调函数),来干预主调函数的运行,从而得到不同的结果
//主调函数
function foo($str,$callback){
$callback($str);
}
//回调函数1,用此函数直接在页面输出主调函数参数1传入的字符串
function callback1($str){
echo $str;
}
//回调函数2,用此函数在页面输出主调函数参数1传入的字符串的长度
function callback2($str){
echo strlen($str);
}
理想中回调函数的用法:
foo('hello world',callback1); //此时输出hello world
foo('hello world' callback2); //此时输出11
但是php中并不支持这种用法,所以就要用到匿名函数的概念
foo('callback1'); //输出hello world
此时主调函数中$callback($str);就相当于callback1($str);
匿名函数的其他用法:
$callback = function ($str){echo strlen($str);};
foo($callback); //输出11
foo(function ($str){echo strlen($str);}); //输出11
欢迎大家指正错误。