php - 按数字和字母顺序排序

标签 php html sorting

<分区>

我遇到了这段代码,它从指定的文件夹中提取图像并使用 img 标签输出它们:

  <?php
            $url = "./images/";
            $handle = opendir ($url);
            while (false !== ($file = readdir($handle))) {
                if($file != "." && $file != ".." && $file != basename(__FILE__)) {
            echo '<a href="'.$url.$file.'" class="lightbox" title="'.$file.'"><img src="'.$url.$file.'" alt="" /></a><br />'; 
?>

效果很好,但我唯一遇到的问题是图像的顺序。

所以,假设在我的 images 文件夹中,我有这些图片:

2.jpg
b.jpg
a.jpg
1.jpg

我怎样才能让它按数字和字母顺序列出图像?我希望编号的图像排在第一位,然后是字母,因此它会像这样列出图像:

1.jpg
2.jpg
a.jpg
b.jpg

最佳答案

您需要的是自然语言排序。

使用 php 函数 natsort().. 这里..

<?php
$url = "./images/";
$temp_files = scandir($url);
natsort($temp_files);
foreach($temp_files as $file) 
{
    if($file != "." && $file != ".." && $file != basename(__FILE__)) 
    {
        echo '<a href="'.$url.$file.'" class="lightbox" title="'.$file.'"><img src="'.$url.$file.'" alt="" /></a><br />';  
    }
}
?>

关于php - 按数字和字母顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5478885/

相关文章:

php - 在 linux 中使用 inotify 在 php 中读取文件

javascript - 使用 javascript 将链接推送到 html 中

javascript - 设置滚动条初始位置

Python 排序 : sub strings

C 基本排序算法

linux - 唯一编号 : only when different by more than 1 character OR case

php - 将多行字符串的 PHP 正则表达式的意图转换为 Python/PERL

php - Yii2 在保存记录前设置时区

php - ZF2文件上传: File is empty

javascript - 使用js更改日历上更改月份的背景