我正在使用以下内容填充select元素:
<?php
$files2 = opendir(WAVEFORM_RELATIVE_PATH);
while (false!==($READ=readdir($files2))) {
if (in_array(substr(strtolower($READ),-4),array('.png'))) {
echo '<option'.($TRACKS->waveform==$READ ? ' selected="selected"' : '').'>'.$READ.'</option>'."\n";
}
}
closedir($files2);
?>
目前,它以完全随机的顺序返回结果。如何按字母顺序显示列表?
答案 0 :(得分:1)
可能是您可以将文件名存储在数组中,对数组进行排序,然后在选择选项中使用它们
答案 1 :(得分:0)
简单,使用glob。
$files = glob(WAVEFORM_RELATIVE_PATH.'/*.png');
sort($files);
foreach($files as $file)
echo '<option....>'.$file.'</option>';
答案 2 :(得分:0)
一种简单的方法是使用scandir
。您可以使用SCANDIR_SORT_ASCENDING
(0
)或SCANDIR_SORT_DESCENDING
(1
)指定排序顺序:
$files2 = scandir(WAVEFORM_RELATIVE_PATH, SCANDIR_SORT_ASCENDING);
foreach($files2 as $file) {
if (in_array(substr(strtolower($file), -4), array('.png'))) {
echo '<option'.($TRACKS->waveform==$file? ' selected="selected"' : '').'>'.$file.'</option>'."\n";
}
}