webPHPPHP实战

PHP匿名函数

2016-11-23  本文已影响41人  零一间

匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。

简单匿名函数

//创建匿名函数,记得最后的分号
$say = function () {
    printf("%s", '哈哈,我是悟空!');
};

$say();//哈哈,我是悟空!

变量赋值

$say = function ($data) {
    printf("%s", $data);
};

$say('哈哈,我是悟空!');//哈哈,我是悟空!

继承变量

$data = '哈哈,我是悟空!';
$say = function () use ($data) {
    printf("%s", $data);
};

$say();//哈哈,我是悟空!

函数或类的头部声明

继承变量的值是从函数开始时就传递进入,,如果指定变量默认就是NULL,例如

$say = function () use ($number) {
    var_dump($number);//NULL 
    echo $number + 10;//10
};

$say();

如果需要先执行函数后期传递变量内容,可采用“&”处理,例如

$say = function () use (&$number) {
    echo $number + 10;
};
$number = 100;
$say();//110

示例1

$message = 'world';
$example1 = function ($arg) use ($message) {
    echo $arg . ' ' . $message;
};
$example1("hello");//hello world
上一篇下一篇

猜你喜欢

热点阅读