多次元配列のソート。 ディレクトリの中身を array_multisort を使ってソートする
配列の初期化
$dirlist = array();
$udate = array();
ディレクトリの内容を順に配列$dirlistに格納
while($str = readdir($strDir)){
array_push($dirlist,$str);
}
ファイルの総数を $files へ格納
$files = count($dirlist);
カウンターを初期化
if(!($counter)){
$counter = 0;
}
ファイルのパスを$openfilepassへ格納する
while ($counter < $files){
$openfile = $dirlist["$counter"];
$openfilepass = $filedir . "/" . $dirlist["$counter"];
$counter ++;
}
ファイルの更新日を取得して配列の格納する
$mod = filemtime($openfilepass);
$ud = date("Y/m/d H:i", $mod);
array_push($udtime,$ud);
ファイル名と更新日の二次元配列ができます
$list_array = $array($dirlist,$udtime);
ファイル名順でソートする
array_multisort($list_array[0], SORT_STRING, SORT_ASC,
$list_array[1], SORT_STRING, SORT_ASC);
日付の新しい順でソートする
array_multisort($list_array[1], SORT_STRING, SORT_DESC,
$list_array[0], SORT_STRING, SORT_ASC);
確認
print_r($list_array);