dt20081409 2019-05-11 09:12
浏览 252

如何首先使用scandir对文件夹进行排序并使用usort [duplicate]

For a filemanagement, I use create_function to sort folders(directories) first and then files. But it seems that create_function is deprecated in php 7.2.

So how can I use the usort below correctly?

 $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))
    ))
  ;
'));
</div>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题
    • ¥15 Visual Studio问题
    • ¥20 求一个html代码,有偿