php匿名函数变量作用域问题

https://img1.mukewang.com/5c8f42340001d37006060177.jpg

如图,如何更优雅地访问匿名函数外的$data?

偶然的你
浏览 374回答 3
3回答

四季花海

function() use($data){}更优雅一些,但需要注意的是继承过来的$data值与这个闭包声明的上下文有关例如: [1] $data = 1; function() use($data){}//此时继承的变量值为1 [2] $data = 1; function() use($data){} $data = 2; 此时再调用闭包函数,$data的取值为其声明时的上下文的值,值为1 $data = 1; $x = function() use ($data){ var_dump($data); exit; }; $data = 2; function ttt($a) { $a(); } ttt($x);

青春有我

从父作用域中继承变量 用use function()use($data){}

www说

补充一下,global和$GLOBALS超全局变量也可以读到外部定义的全局变量,了解一下
打开App,查看更多内容
随时随地看视频慕课网APP