56

日付(最終更新日)の順にファイルの配列を表示しようとしています。

私はこの購入を配列をループして別の配列にソートしましたが、これを行うためのより簡単な(より効率的な)方法はありますか?

4

6 に答える 6

99

警告 create_function()は、PHP 7.2.0 で非推奨になりました。この関数に依存することはお勧めできません。

後世のために、受け入れられた回答にリンクされているフォーラムの投稿が失われたり、一部の人にとって不明確な場合に備えて、必要な関連コードは次のとおりです。

<?php

$myarray = glob("*.*");
usort($myarray, create_function('$a,$b', 'return filemtime($a) - filemtime($b);'));

?>

私のシステムでこれをテストし、必要に応じてファイル mtime でソートされることを確認しました。同様の方法 (Python で作成) を使用して、Web サイトの最終更新ファイルを特定しました。

于 2008-09-24T02:19:13.853 に答える
44
<?php
$items = glob('*', GLOB_NOSORT);
array_multisort(array_map('filemtime', $items), SORT_NUMERIC, SORT_DESC, $items);
于 2010-07-21T11:40:00.750 に答える