PHP回调函数及匿名函数概念与用法详解
这篇文章主要介绍了PHP回调函数及匿名函数概念与用法,结合实例形式详细分析了PHP回调函数及匿名函数的概念、功能、使用方法及相关操作注意事项,需要的朋友可以参考下
本文实例讲述了PHP回调函数及匿名函数概念与用法。分享给大家供大家参考,具体如下:
1、回调函数
PHP的回调函数其实和C、Java等语言的回调函数的作用是一模一样的,都是在主线程执行的过程中,突然跳去执行设置的回调函数;
回调函数执行完毕之后,再回到主线程处理接下来的流程
而在PHP调用回调函数,不想c以及java那样直接使用函数名作为函数参数,而是在PHP中使用函数对应的字符串名称执行
1.1、无参数回调
';
}
function main($callback){
echo 'execute main start.
';
$callback();
echo 'execute main end.
';
}
main('callback');
//结果
ecute main start.
execute no parameters callback.
execute main end.
1.2、全局回调函数
$b.
";
}
$func = 'callback';
call_user_func($func,1,2);
call_user_func_array($func,array(1,2));
//结果
1<====>2.
1<====>2.
1.3、类方法及静态方法回调
$b.
";
}
public static function staticCallback($a,$b){
echo "staticCallback $a<====>$b.
";
}
}
//非静态方法调用方式一
$test = new Test();
call_user_func(array($test,'callback'),2);
call_user_func_array(array($test,2));
//非静态方法调用方式二
$func = 'callback';
$test->$func(7,9);
//静态方法调用方式
call_user_func(array('Test','staticCallback'),4,6);
call_user_func_array(array('Test',array(4,6));
call_user_func_array("Test::staticCallback",6));
//结果
callback 1<====>2.
callback 1<====>2.
callback 7<====>9.
staticCallback 4<====>6.
staticCallback 4<====>6.
staticCallback 4<====>6.
2、匿名函数
2.1、 PHP中的匿名函数(Anonymous functions), 也叫闭包函数(closures),允许指定一个没有名称的函数。最常用的就是回调函数的参数值
';
};
$closureFunc("hello world!");
//结果
hello world!