Как использовать 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;
}
}