usort, неправильно сортирует на хостинге - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь отсортировать изображения по времени их создания, и это выглядит хорошо на локальном сервере. Тем не менее, когда я пытаюсь сделать то же самое в моей размещенной сети, heroku, кажется, не работает. Что-то мне не хватает или я должен сделать другой способ сортировки для хостинга?

Усорт с функцией

usort($images, function($a, $b) {
    return filemtime($a) > filemtime($b);
});

Хостинг

Локальный сервер

1 Ответ

0 голосов
/ 07 мая 2018

Обновление:

Попробуйте это, протестировано и, кажется, работает нормально:

// compare by time
function cbt($a, $b) {
    if ( filemtime($a) == filemtime($b) ) {
        return 0;
    }
    return (filemtime($a) < filemtime($b) ) ? -1 : 1;
}

// Images array, (case sensitive)
$imgArray = glob($directory . "/*.{jpg,PNG,gif,png}", GLOB_BRACE);

// sort by date modified
usort($imgArray, "cbt");
// $imgArray = array_reverse($imgArray); // reverse order if you want

Проверено на PHP v5.6.25, v7.2.3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...