Я пытаюсь отобразить массив файлов по порядку даты (последний раз).glob() - сортировать по дате
Я сделал эту покупку, прокручивая массив и сортируя ее по другому массиву, но есть ли более простой (более эффективный) способ сделать это?
Я пытаюсь отобразить массив файлов по порядку даты (последний раз).glob() - сортировать по дате
Я сделал эту покупку, прокручивая массив и сортируя ее по другому массиву, но есть ли более простой (более эффективный) способ сделать это?
Ради потомства, в случае пост на форуме связан в общепринятом ответ потерян или неясными для некоторых, соответствующий код нужно, это:
<?php
$myarray = glob("*.*");
usort($myarray, create_function('$a,$b', 'return filemtime($a) - filemtime($b);'));
?>
Испытано это на моей системе и проверить это делает своего рода по файлу mtime по желанию. Я использовал аналогичный подход (написанный на Python) для определения последних обновленных файлов на моем сайте.
Работал красиво. Мне нужен обратный порядок, поэтому я поменял $ a на $ b в поле определения функции. Спасибо, Джей! – AVProgrammer 2012-01-11 22:53:32
Я только что использовал это снова. Для потомства! – AVProgrammer 2012-03-28 21:21:34
<?php
$items = glob('*', GLOB_NOSORT);
array_multisort(array_map('filemtime', $items), SORT_NUMERIC, SORT_DESC, $items);
Это решение так же, как accepted answer, обновленный с анонимной функции :
$myarray = glob("*.*");
usort($myarray, function($a, $b) { return filemtime($a) - filemtime($b); });
Anonymous functions были введены в PHP в 2010 году оригинальный ответ датирован 2008.
Вы нашли это? (Просто выполнил поиск Google по вашему названию вопроса): http://www.webdeveloper.com/forum/showthread.php?t=188670 – John 2008-09-24 01:58:18