我有一个显示图库的脚本,图库中的图像是使用scandir(函数)从目录中提取的。我使用natsort以数字方式对图像进行排序(所有图像只有数字,例如:1.jpg 12.jpg 13.jpg等等)。
Natsort应该订购它们,但是图像根本没有排序。
我的代码:
function scan_dir($dir) {
$ignored = array('.', '..', '.svn', '.htaccess','index.html');
$files = array();
foreach (scandir($dir) as $file) {
if (in_array($file, $ignored)) continue;
$files[$file] = filemtime($dir . '/' . $file);
}
natsort($files);
$files = array_keys($files);
return ($files) ? $files : false;
}
if(is_dir($_SERVER['DOCUMENT_ROOT'].'/_intern/SNM/cms/images/Projecten/'.$contentcr[0]['alias'].'/') != FALSE){
foreach(scan_dir($_SERVER['DOCUMENT_ROOT'].'/_intern/web/cms/images/Projecten/'.$contentcr[0]['alias'].'/') as $entry) {
$gallery .= '
<a href="/_intern/web/cms/images/Projecten/'.$contentcr[0]['alias'].'/'.$entry.'">
<img class="galleryimgs" title="'.$contentcr[0]['alias'].'" alt="'.$contentcr[0]['alias'].'" src="/_intern/web/cms/images/Projecten/'.$contentcr[0]['alias'].'/'.$entry.'" />
</a>';
}
}else{
echo '';
}
echo $gallery;
答案 0 :(得分:1)
简短回答是:
natsort($files)
按值排序,而不是按键排序。它实际上等同于sort($files,SORT_NATURAL)
如果您想对键进行排序(这是您需要的),您需要使用:
ksort($files,SORT_NATURAL)
的手册页中找到PHP排序函数的完整列表