【问题标题】:PHP - sorting an array of filenames with numbers?PHP - 用数字对文件名数组进行排序?
【发布时间】:2010-12-30 08:40:14
【问题描述】:

谁能告诉我如何对包含以数字开头的文件名的数组进行排序?因为以 11、12、13 等开头的字符串被认为低于 2,所以我的结果是这样的:

[0] "1.文件一.pdf" [1] 《11.文件十一.pdf》 [2] 《12.文件十二.pdf》 [3]《2.文件二.pdf》 [4]《3.文件三.pdf》

我能做些什么来正确排序这些吗?

【问题讨论】:

    标签: php arrays string sorting numbers


    【解决方案1】:

    您可以使用natsort。或natcasesort,不区分大小写。如果有多个数字(即变音符号),您应该确保使用正确的locale

    如果还不够,即。您还想对数字文字(“一”、“二”、“三”)进行排序,您可以使用usort,它允许使用您的自定义回调作为比较函数。

    【讨论】:

    • 完美!谢谢你,以及其他所有回答的人。
    【解决方案2】:

    使用natsort可以得到自然排序

    看看。

    【讨论】:

    • 链接应该是什么?现在已经死了。
    猜你喜欢
    • 2017-11-23
    • 2012-05-23
    • 2012-04-01
    • 1970-01-01
    • 2019-04-12
    • 2016-07-02
    • 1970-01-01
    • 2010-10-26
    相关资源
    最近更新 更多