PHPで$ファイル=新しいのDirectoryIteratorを()を使用した後、どのようにアイテムを並べ替えるのですか?
質問
私たちは、
によりPHPでディレクトリ内のファイルを取得することができます$files = new DirectoryIterator()
その後、それらを表示するための特定の順序で項目をソートする簡単な方法はありますか?感謝ます。
解決
イテレータ内のデータをソートする方法があるように見えません。
あなたはソートしたい値のキーで、中間の配列に表示データを配置し、アレイ上の()ksort呼び出すことができます。しかし、これは、データ上の2つのパスになります。
$path = ".";
$files = new DirectoryIterator($path);
$files_array = array();
while($files->valid()) {
// sort key, ie. modified timestamp
$key = $files->getMTime();
$data = $files->getFilename();
$files_array[$key] = $data;
$files->next();
}
ksort($files_array);
foreach($files_array as $key => $file){
print $key . " => " . $file . "\n";
}
編集ます:
あなたは、配列の値のファイルの出力に必要な情報のすべてを置く場合は、、あなたは、単に(内破することができます)の代わりに、再度データをループのその後の配列、ます。
他のヒント
$files = new DirectoryIterator($path);
$i = 0;
$paths = array();
while($files->valid()) {
$paths[$i++] = $files->getFileName();
$files->next();
}
sort($paths)
あなたが探しているものであってもよいし、いつでも、もちろんその後、あなたの好みに応じてパスをソートするソート機能を適用することができます。
所属していません StackOverflow