多次元配列のソート。 ディレクトリの中身を array_multisort を使ってソートする

配列の初期化

                        $dirlist = array();
$udate = array();

 ディレクトリ内のファイル名を取得して$strDirに格納

            $filedir = ディレクトリ名;
$strDir = opendir($filedir)or die("couldnt open directory");

 ディレクトリの内容を順に配列$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);

参照URL:
http://metaboy.blog23.fc2.com/blog-entry-114.html

 

コメント

  1. mitsuru09j より:

    FIFAのグループどーも、アフリカはさすがに盛り上がってるよん!! ただ今はFIFAの前のアフリカカップを観戦しているけどね。ほんではまた。

タイトルとURLをコピーしました