PHP匿名函数和use子句用法实例
这篇文章主要介绍了PHP匿名函数和use子句用法,结合实例形式分析了匿名函数结合use的相关使用技巧,需要的朋友可以参考下。
本文实例讲述了PHP匿名函数和use子句用法,分享给大家供大家参考,具体如下:
下面方法输出的是hello world
$param1和$param2是闭包变量
- function test()
- {
- $param2 = 'every';
- // 返回一个匿名函数
- return function ($param1) use ($param2) {
- // use子句 让匿名函数使用其作用域的变量
- $param2 .= 'one';
- print $param1 . ' ' . $param2;
- };
- }
- $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');