对于文件管理,我先使用create_function
对文件夹(目录)进行排序,然后再对文件进行排序。但是似乎create_function
在php 7.2中已弃用。
那么如何正确使用下面的usort
?
$files = array_diff( scandir($dir), array(".", "..", "tmp") );
usort ($files, create_function ('$a,$b', '
return is_dir ($a)
? (is_dir ($b) ? strnatcasecmp ($a, $b) : -1)
: (is_dir ($b) ? 1 : (
strcasecmp (pathinfo ($a, PATHINFO_EXTENSION), pathinfo ($b, PATHINFO_EXTENSION)) == 0
? strnatcasecmp ($a, $b)
: strcasecmp (pathinfo ($a, PATHINFO_EXTENSION), pathinfo ($b, PATHINFO_EXTENSION))
))
;
'));