本文实例讲述了PHP匿名函数和use子句用法。分享给大家供大家参考,具体如下:
下面方法输出的是hello world
$param1和$param2是闭包变量:
- function test()
 - {
 - $param2 = 'every';
 - // 返回一个匿名函数
 - return function ($param1) use ($param2) {
 - // use子句 让匿名函数使用其作用域的变量
 - $param2 .= 'one';
 - print $param1 . ' ' . $param2;
 - //Vevb.com
 - };
 - }
 - $anonymous_func = test();
 - $anonymous_func('hello');
 
下面的方式 输出hello everyone:
- function test()
 - {
 - $param2 = 'everyone';
 - $func = function ($param1) use ($param2) {
 - // use子句 让匿名函数使用其父作用域的变量
 - print $param1 . ' ' . $param2;
 - };
 - $param2 = 'everybody';
 - return $func;
 - }
 - $anonymous_func = test();
 - $anonymous_func('hello');
 
下面的方式 输出hello everybody
$param2中多了一个引用:
- function test()
 - {
 - $param2 = 'everyone';
 - $func = function ($param1) use (&$param2) {
 - // use子句 让匿名函数使用其父作用域的变量
 - print $param1 . ' ' . $param2;
 - };
 - $param2 = 'everybody';
 - return $func;
 - }
 - $anonymous_func = test();
 - $anonymous_func('hello');
 
新闻热点
疑难解答