PHP5.3匿名函数详解-Lambda函数
PHP5.3中的 匿名函数 和 Lambda 函数 (拉姆达表达式) 其实是一件事情。在php里面,传统方法是利用create_function来建立lambda函数;创建过程比较麻烦;
遗憾的是在PHP5.3以前,我们只能使用这种方式创建匿名函数;而在PHP 5.3发布的时候, 其中有一条new feature就是支持闭包/Lambda 函数;但实际上是构造了一个PHP 5.3引入的Closure”类”的实例, Closure类的构造函数是私有的, 所以不能被直接实例化, 另外Closure类是Final类, 所以也不能做为基类派生子类。
我们可以这样来添加一个匿名函数:
function (parameters) use (lexical vars) { body }
创建一个简单匿名函数的例子。下面的例子看上去,语法和javascript甚至很接近了。
还可以导入外部变量,在匿名函数中使用,以前要使用$_GLOBAL来传递这些外部变量