使PHP闭包函数对PHP 5.2安全 [英] Making a PHP closure function safe for PHP 5.2
本文介绍了使PHP闭包函数对PHP 5.2安全的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下函数在PHP> 5.3中工作,但在旧版本中出错。我如何修改它以使它安全?
The following function works in PHP > 5.3 but errors out in older versions. How can I modify this to make it 5.2 safe?
function _iniloader_get_dirs($dir) {
$dirs = array_filter(scandir($dir), function ($item) use ($dir) {
return (is_dir($dir.'/'.$item) && $item != "." && $item != "..");
});
// Use array_values to reset the array keys:
return array_values($dirs);
}
5.2错误:
$ b
5.2 error:
解析错误:语法错误,意外的T_FUNCTION ... on
第2行
Parse error: syntax error, unexpected T_FUNCTION ... on line 2
推荐答案
你可以很容易地做闭合,但你会失去一些优雅:
You can easily do it w/o the closure, but you will lose some elegance:
function _iniloader_get_dirs($dir) {
$dirs = array();
$entries = scandir($dir);
foreach($entries as $item) {
if($item === '.' || $item === '..') continue;
if(!is_dir($dir.'/'.$item)) continue;
$dirs[] = $item;
}
return $dirs;
}
这篇关于使PHP闭包函数对PHP 5.2安全的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文