访问回调函数内的全局变量
请参阅以下函数来扫描目录中的文件(取自此处)
function scandir_only_files($dir) {
return array_filter(scandir($dir), function ($item) {
return is_file($dir.DIRECTORY_SEPARATOR.$item);
});
}
这不起作用,因为 $dir 不在匿名函数的范围内,并且显示为空,导致过滤器每次都返回 FALSE。我将如何重写这个?
Please see the following function to scan the files in a directory (Taken from here)
function scandir_only_files($dir) {
return array_filter(scandir($dir), function ($item) {
return is_file($dir.DIRECTORY_SEPARATOR.$item);
});
}
This does not work because the $dir is not in scope in the anonymous function, and shows up empty, causing the filter to return FALSE every time. How would I rewrite this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须使用
use
关键字显式声明从父作用域继承的变量:请参阅此示例来自匿名函数页面。
You have to explicitly declare variables inherited from the parent scope, with the
use
keyword:See this example from the anonymous functions page.