php – scandir – 排序数字文件名

前端之家收集整理的这篇文章主要介绍了php – scandir – 排序数字文件名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
做了一些搜索,但似乎无法找到我正在寻找的确切答案.

我想使用’scandir($dir)’来输入带有编号文件名的文件,但要正确排序.例如,文件名是:

  1. 1-something.ext
  2.  
  3. 2-something-else.ext
  4.  
  5. 3-a-third-name.ext
  6.  
  7. .
  8.  
  9. .
  10.  
  11. .
  12.  
  13. 10-another-thing.ext
  14.  
  15. 11-more-names.ext

我遇到的问题是10-a-fourth-thing.ext将显示在2-something-else.ext之前.我想找到一种解决这个问题的更好方法,而不是在所有文件名前面引入前导’0′.

有什么想法吗?谢谢.

natsort完全符合您的需求.

使用SORT_NUMERIC进行排序也适用于以数字开头的文件名,但如果前面也没有数字的名称也会中断(所有非数字前缀的名称将在数字前缀名称之前排序,并且它们的顺序相对于彼此将是随机的而不是字母的).

猜你在找的PHP相关文章