恥ずかしいほど間違ったことをしているのかもしれませんが、なぜこの配列がソートされないのでしょうか?
$narray=array();
$dir_handle = @opendir($path.$projectFolder) or die("Unable to open $path$projectFolder");
$i=0;
while($file = readdir($dir_handle)) {
$filenameSplit = explode('.',$file);
if ($file != "." && $file != ".." && $filenameSplit[0] != "logo" && $filenameSplit[1] != "zip" && $filenameSplit[1] != "pdf" && $filenameSplit[1] != "doc" && $filenameSplit[1] != "psd" && $filenameSplit[1] != "") {
$narray[$i]=$file;
$i++;
}
}
natcasesort($narray);
配列をまったく並べ替えようとしない場合と同じ結果が得られるようです。sort()
動作しますが、他には何もないようです。
助けてくれてありがとう!
アップデート:
サンプル結果は次のとおりです。
ソートなし:
03_piper_file-manager_02.jpg
05_piper_login-page_02.jpg
02_piper_file-manager_no-slides_01.jpg
04_piper_file-manager_02.jpg
01_piper_file-manager_no-slides_01.jpg
とsort()
:
01_piper_file-manager_no-slides_01.jpg
02_piper_file-manager_no-slides_01.jpg
03_piper_file-manager_02.jpg
04_piper_file-manager_02.jpg
05_piper_login-page_02.jpg
natsort()
またはnatcasesort()
: _
03_piper_file-manager_02.jpg
05_piper_login-page_02.jpg
02_piper_file-manager_no-slides_01.jpg
04_piper_file-manager_02.jpg
01_piper_file-manager_no-slides_01.jpg
少なくとも、natsort の結果が sort のようになることを期待しています。