PHP匿名函数和闭包使用的句法与普通函数相同,但匿名函和闭包数其实是伪装成函数的对象.
匿名函数:
就是没有名称的函数.匿名函数可以赋值给变量,对象传递.不过匿名函数仍是函数,因此可以调用,还可以传入参数.匿名函数特别适合作为函数或方法的回调.
闭包:
是指在创建时封装周围状态的函数.即使闭包所在的环境不存在了,闭包中封装的状态依然存在.
注意:理论上讲,闭包和匿名函数是不同的概念. 不过,PHP将其视作相同的概念.
匿名函数的写法
$func = function(){ };//带结束符
实例
$func = function ($param) { echo($param); }; $func('hello world');
提到匿名函数,就不得不提闭包,将匿名函数放在普通函数中,也可以将匿名函数返回,这就构成了一个简单的闭包
function closureFunc1 () { $func = function () { echo "hello"; }; $func(); } closureFunc1(); //输出: hello