PHP匿名函数

517 阅读1分钟
匿名函数(Anonymous functions),也叫闭包函数(closures),允许临时创建一个没有指定名称的函数。

注意:理论上讲,闭包和匿名函数是不同的概念. 不过,PHP将其视作相同的概念.

1.php中匿名函数的使用

 a.作为变量赋值

<? php
$fun = function ($param){
	        echo $param;
        };
$fun('helloWorld');
//输出 helloWorld


b.作为回调函数使用

<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
    return strtoupper($match[1]);
}, 'hello-world');
// 输出 helloWorld


c.使用use关键字

<? php 
function func($param){
    return function() use($param){
       echo $param;
    };
}
$content = func('hello world');
$content();
//输出  hello world


2.匿名函数的好处

1、非匿名函数在定义时就创建函数对象和作用域对象,以后即使未调用,也占空间

2、匿名函数只有在调用时,才会创建函数对象和作用域对象。调用完后立即释放,节省内存