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來傳遞這些外部變量