首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >glob图像和按名称排序不起作用的数字10

glob图像和按名称排序不起作用的数字10
EN

Stack Overflow用户
提问于 2021-07-07 06:54:00
回答 1查看 78关注 0票数 0

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

代码语言:javascript
运行
复制
    $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 />';
    }

这将对我的目录进行排序,并将其图像按排序顺序发布到我的网页上。我现在面临的问题是,它只运行到第九位。

我的目录:

  • 101.01.2020.jpg
  • 2 03.04.2020.jpg
  • 3-8次
  • 9 05.06.2020.jpg
  • 108.07.2020.jpg

它是如何按我的代码在网页上排序和显示的:

  • 101.01.2020.jpg
  • 108.07.2020.jpg
  • 2 03.04.2020.jpg
  • 3-8次
  • 9 05.06.2020.jpg

因此,它的排序应该达到9,但我不理解为什么10跟随1,以及我如何解决这个问题。

有人有主意吗?

诚挚的问候

EN

回答 1

Stack Overflow用户

发布于 2021-07-07 07:06:48

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

根据文件,排序函数接受一个标志参数来修改排序行为。您可以尝试像这样使用排序函数:

代码语言:javascript
运行
复制
sort($images, SORT_NATURAL);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68281357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档