【发布时间】: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
谁能告诉我如何对包含以数字开头的文件名的数组进行排序?因为以 11、12、13 等开头的字符串被认为低于 2,所以我的结果是这样的:
[0] "1.文件一.pdf" [1] 《11.文件十一.pdf》 [2] 《12.文件十二.pdf》 [3]《2.文件二.pdf》 [4]《3.文件三.pdf》我能做些什么来正确排序这些吗?
【问题讨论】:
标签: php arrays string sorting numbers
您可以使用natsort。或natcasesort,不区分大小写。如果有多个数字(即变音符号),您应该确保使用正确的locale。
如果还不够,即。您还想对数字文字(“一”、“二”、“三”)进行排序,您可以使用usort,它允许使用您的自定义回调作为比较函数。
【讨论】:
使用natsort可以得到自然排序
看看。
【讨论】: