如何首先使用scandir排序文件夹并使用usort

时间:2019-05-11 09:12:58

标签: php sorting usort scandir

对于文件管理,我先使用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))
    ))
  ;
'));

0 个答案:

没有答案