私たちはそれらを表示するための特定の順序で項目をソートする簡単な方法があることが後に
$files = new DirectoryIterator()
でPHPでディレクトリ内のファイルを入手できますか?ありがとう。
私たちはそれらを表示するための特定の順序で項目をソートする簡単な方法があることが後に
$files = new DirectoryIterator()
でPHPでディレクトリ内のファイルを入手できますか?ありがとう。
イテレータ内のデータをソートする方法がないように見えます。
並べ替えたい値のキーを使用して表示データを仲介配列に配置し、配列の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)
あなたが探しているものであってもよいし、いつでも、もちろんその後、あなたの好みに応じてパスをソートするソート関数を適用することができます。
@動力能量 - あなたは中国語ですか? –
[salathe/spl-examples - ソートイテレータ](https://github.com/salathe/spl-examples/wiki/Sorting-Iterators) – hakre