匿名函数(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
网友评论