<?PHPの $ dirを = " ./ " ; // 目录 場合(is_dir($ DIR)){ 場合($ DH = opendirなど($のDIR)){ $ I = 0 。 しばらく(($ファイル= readdirの($のDH))!== falseの){ 場合($ファイル!= " " && $ファイル!= " ... " ){ $ファイル[$ i]の[ " 名前" ] = $ファイル; // 获取文件名称 $ファイル[$ i]の[ " サイズ"] =ラウンド((ファイルサイズ($ファイル)/ 1024年)、2); //は、ファイルサイズを取得 $ファイル[$ I]を[ " 時間" ] = DATE(" はYmd H:I:S "、filemtime($ファイル) ); // 最後の変更のファイルの日付を取得 私は++ $を; } } } closedirの($ DH); foreachの($ファイルAS $ K => $ V){ $サイズ[$ K] = $ V [ ' サイズ' ]; $時間[$ K]は、V $ [= ' 時間を' ]; $名[$ K]Vの$ = [ ' 名前' ]; } array_multisort($時間、SORT_DESC、SORT_STRING、$ファイル); // 時間でソート // array_multisort($名、SORT_DESC、SORT_STRING、$ファイル); // 名前で並べ替え @ array_multisort($サイズ、SORT_DESC、SORT_NUMERIC、$ファイル); // サイズで並べ替え ますprint_r($ファイル); } ?>
原理:
<?PHP $ AR1 =アレイ(10、100、100、0 ); の$ AR2 =配列(1、3、2、4 ); array_multisort($ AR1の$ AR2) のvar_dump($ AR1) のvar_dump($ AR2の); ?> 結果:この例では、ソート後、第一の配列が含まれています0、10、100、100。二番目の配列を含んでいてもよい4、1、2、3。最初の配列内のアイテムに対応する二番目の配列はまた、(ソートされた後に100及び100 )。 配列(4 ){ [ 0 ] => INT(0 ) [ 1 ] => INT(10 ) [ 2 ] => INT(100 ) [ 3 ] => INT(100 ) } アレイ(4 ){ [ 0 ] => INT(4 ) [ 1 ] => INT(1 ) [ 2 ] => INT(2 ) [3 ] => INT(3 ) }