编程语言
首页 > 编程语言> > 使PHP闭包函数对PHP 5.2安全

使PHP闭包函数对PHP 5.2安全

作者:互联网

以下函数适用于PHP> 5.3但旧版本中的错误.如何修改它以使其安全?

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错误:

Parse error: syntax error, unexpected T_FUNCTION … on
line 2

解决方法:

你可以轻松地完成闭合,但你会失去一些优雅:

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,closures,php-5-2
来源: https://codeday.me/bug/20190902/1791841.html