进行了一些搜索,但似乎无法找到我正在寻找的确切答案。
我想使用“scandir($dir)”提取带有编号文件名的文件,但要让它们正确排序。例如,文件名是:
1-something.ext
2-something-else.ext
3-a-third-name.ext
.
.
.
10-another-thing.ext
11-more-names.ext
我遇到的问题是 10-a-fourth-thing.ext 会在 2-something-else.ext 之前显示。我想找到一种比在所有文件名前引入前导“0”更好的方法来解决这个问题。
有什么想法吗?谢谢。
最佳答案
natsort
完全满足您的需求。
sort
with SORT_NUMERIC
也适用于以数字开头的文件名,但如果还有前面没有数字的名称(所有非数字- 前缀名称将在数字前缀名称之前排序,并且它们相对于彼此的顺序将是随机的而不是字母顺序)。
关于php - scandir - 排序数字文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9727781/