如何解决使用scandir定制目录列表顺序的最佳方法是什么
||$dir = $_SERVER[\'DOCUMENT_ROOT\'] . \'/images/myfav/\';
$dirFiles = scandir($dir);
foreach ( $dirFiles as $k => $v)
{
if (is_dir($dir . \"/\" . $v) && $v != \'.\' && $v != \'..\' )
{
if ( ($files = @scandir($dir . \"/\" . $v)) && (count($files) > 2) )
{
$link = strtolower(str_replace(\' \',\'-\',$v));
echo \'<a href=\"/myfav/\' . $link . \'\" title=\"\' . $v . \'\"\';
if ($_GET[\'subpage\'] == $link) echo \' class=\"selected\"\';
echo \'><span>\' . $v . \'</span></a>\';
}
}
}
我使用上面的脚本列出目录,现在有一个要求我需要按自定义顺序放置这些目录。有些具有优先权,应该在其他显示之前显示。
暗示这一点的最佳方法是什么。
我认为一种方法可能是根据顺序在每个目录的前面添加数字,并使用脚本将数字分割并执行某种顺序。
但是,可以用确切的目录名称和顺序数字定义脚本中的数组,并基于此,我们可以扫描导演,并以某种方式确定脚本中现有数组的顺序吗?
解决方法
而不是回显它们,而是将代码写入数组,并将要排序的值作为数组键。然后使用
ksort()
或其他PHP排序函数之一对该数组进行排序,然后以新排序的顺序打印该数组。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。