0

これが私のコードです。しかし、while ループの read(): は、私の結果をアルファベット順にソートしていないようです。結果を並べ替える方法はありますか? tks セビー

 <?php
 $save_path_folder_images = '../simplegallery/users/'.$_SESSION['user_id'].'       /'.$_REQUEST['gal_folder'].'/thumbs/';
 $save_path_folder_images_full = '/simplegallery/users/'.$_SESSION['user_id'].'/'.$_REQUEST['gal_folder'].'/slides/';
$folder=dir($save_path_folder_images);

$counter = 1;
while($folderEntry=$folder->read())
{
    if($folderEntry!="." && $folderEntry!="..")
    {?>
         <div class="imgs" >
                <div class="thumb" >                        
                        <label for="img<?php echo $counter; ?>"><img class="img" src="<?php echo $save_path_folder_images.$folderEntry; ?>" /></label>                          
                    </div>
                <div class="inner">
                    <input type="checkbox" class="chk " id="img<?php echo $counter; ?>" name="img_name[]" value="<?php echo $save_path_folder_images_full.$folderEntry; ?>" />
                </div>
            </div>
        <?php
    $counter++;
    }
}
  ?>
4

2 に答える 2

1

->read()出力を並べ替えようとしないため、read()一度ループして、出力を配列にプッシュすることができます。次に、natcasesort()( http://php.net/natcasesort ) を実行して配列をソートし、出力します。

だから2ループ。

while($folderEntry=$folder->read())
{
  $fileList[]  = $folderEntry;
}
natcasesort($fileList);
foreach($fileList as $folderEntry)
{
  //your printing
}
于 2013-05-25T14:05:17.370 に答える