我有一个非常简单的代码,我无法解决这个问题:
$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,但我不理解为什么10跟随1,以及我如何解决这个问题。
有人有主意吗?
诚挚的问候
发布于 2021-07-07 07:06:48
这类工作似乎是按字母顺序进行的。在字母排序中,10出现在9之前是有意义的。同样地,对于按字母排序的单词,"BA“出现在"I”之前也是合理的。(0 = A,1= B,I= 9)。
根据文件,排序函数接受一个标志参数来修改排序行为。您可以尝试像这样使用排序函数:
sort($images, SORT_NATURAL);
https://stackoverflow.com/questions/68281357
复制相似问题