PHP回调函数
回调函数:给函数传递一个函数作为参数;
PHP支持回调函数(callback),但和JavaScript相比,5.3之前的并不是特别灵活,只有“字符串的函数名”和“使用creat_function的返回值”两种选择。在5.3之后又多了匿名函数的选择;
匿名函数或闭包实例
<?php
$fun= function ($hello){ //匿名函数
echo $hello;
};
$fun("hello kitty");//给匿名函数传参数
?>
匿名函数作为变量的值来使用。直接将匿名函数作为参数传给回调函数,是匿名函数最常见的用法,最后别忘记加上分号。下面是回调函数实例:
functioncallback($call){ //声明函数callback,需要传递一个匿名函数作为参数
$call();
}
callback(function (){
echo "hellokitty"; //调用函数的同时直接传入一个匿名函数作为参数
})
//闭包函数的一个重要概念就是内部函数和使用外部变量,通过use关键字才能实现
$string = "字符串";
callback(function ()use (&$string){
echo "闭包函数测试 ".$string;
})
上面的闭包函数可以直接调用外部变量,而一般函数是无法访问外部变量的