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

glob 图像和按名称排序在数字 10 以上不起作用

如何解决glob 图像和按名称排序在数字 10 以上不起作用

我有一个非常简单的代码,但有一个我无法解决的问题:

    $dirname = "some/directory";
    $images = glob($dirname."*.{png,jpg,jpeg}",GLOB_BRACE);
    
    sort($images);
    
    foreach($images as $item){
        $title = explode('/',trim($item,'/'));
$fourth_segment = $title[3];
$title= str_replace([".jpg",".jpeg",".png"],"",$title[3]);
    echo '<h3>'.$title.'</h3><br /><img src="'.$item.'" style="width:500px;" /><br /><br />';
    }

这会对我的目录进行排序并在我的网页上按排序顺序发布其图像。我现在的问题是,它只能工作到第 9 位。

我的目录:

  • 1 01.01.2020.jpg
  • 2 03.04.2020.jpg
  • [3-8 个关注]
  • 9 05.06.2020.jpg
  • 10 08.07.2020.jpg

我的代码如何在网页上对其进行排序和显示

  • 1 01.01.2020.jpg
  • 10 08.07.2020.jpg
  • 2 03.04.2020.jpg
  • [3-8 以下]
  • 9 05.06.2020.jpg

所以它的排序应该是数字 9,但我不明白为什么 10 跟随 1 以及我如何解决这个问题。

有人有想法吗?

最好的问候

解决方法

似乎是按字母顺序进行排序。在字母排序中,10 出现在 9 之前是有意义的。同样,对于按字母排序的单词,“BA”出现在“I”之前也是有意义的。 (0 = A,1 = B,I = 9).

According to the documentation,排序函数接受一个标志参数来修改排序行为。您可以尝试使用这样的排序功能:

sort($images,SORT_NATURAL);

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

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?