Как использовать usort() для многомерного массива?

У меня есть следующий многомерный массив, который создается из цикла. Дата указывается в формате "Ymd". (Я делаю это, потому что у меня есть 2 разных поля даты в разных форматах, и я хочу объединить их и отсортировать по общему формату)

$myArray = array (
    'date' => $eDate,
    'title' => $title,
    'permalink' => $permalink
 );

Как бы я написал простую функцию сравнения для передачи в usort(), чтобы можно было отсортировать по этому ключу "date"? Так тогда я мог бы сделать простой foreach?

1 ответ

Решение

@IMSoP, конечно, прав, ответ давно дан очень всесторонним образом. Тем не менее, чтобы помочь вам на вашем пути, приведем краткую выдержку из цитируемого ответа, содержащую соответствующие биты для вашей проблемы:

usort($myArray,'cmp');

function cmp(array $a, array $b) { 
    $ad=$a['date']; $bd=$b['date'];
    if ($ad < $bd) {
        return -1;
    } else if ($ad > $bd) {
        return 1;
    } else {
        return 0;
    }
}
Другие вопросы по тегам