微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 按数字顺序列出文件而不是按字母顺序排列?

基本上,我有一堆带有共同前缀的文件(logo%d.jpg).

当使用ls查看它们甚至在PHP中循环遍历目录时,我没有按数字顺序接收它们,这意味着logo1.jpg,logo2.jpg.

相反,我按字母顺序排列它们,例如:

logo1.jpg,logo10.jpg,logo11.jpg … logo 19.jpg,logo2.jpg(而不是logo20.jpg)

有没有办法按数字顺序输出它们? logo1,logo2,logo3 ..等

解决方法:

您可以将它们放在一个数组中,并使用natsort­Docs函数对数组进行排序:

$array = array('logo1','logo2','logo12');
natsort($array);

给出了(Demo):

array(3) {
  [0]=>
  string(5) "logo1"
  [1]=>
  string(5) "logo2"
  [2]=>
  string(6) "logo12"
}

您正在寻找的订单通常称为自然订单.

或者,您可以为数字添加前缀,例如如果您已经使用sprintf命名文件,那么标准排序顺序仍然有效:

`logo%03d.jpg`

哪会产生

logo001.jpg

小数点1.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐