此问题在此处已有答案:
Access a global variable in a PHP function(10个答案)
9天前关闭
请参阅下面的函数来扫描目录中的文件(从这里)
function scandir_only_files($dir) {
return array_filter(scandir($dir), function ($item) {
return is_file($dir.DIRECTORY_SEPARATOR.$item);
});
}
字符串
这不起作用,因为$dir不在匿名函数的作用域中,并且显示为空,导致过滤器每次都返回NULL。
1条答案
按热度按时间umuewwlo1#
你必须使用
use
关键字显式声明从父作用域继承的变量:个字符
在 anonymous functions 页面上查看这个例子。
闭包可以从父作用域继承变量。任何这样的变量都必须在函数头中声明。闭包的父作用域是声明闭包的函数(不一定是调用它的函数)。