Артём Мáлков

Сортировка многомерного массива по дате на PHP

5 окт0 комм

Довелось мне поработать с CMS Joomla!, а именно – немного доводить до ума модуль, который выдавал, можно сказать, в разном порядке определенную информацию.

Моя же задача была упорядочить всю эту информацию по дате, от большего к меньшему.

Чтобы вы представляли всю картину, исходный массив данных выглядел примерно следующим образом:

$array = array(
	array("date" => "04.02.2015", "id" => "1"),
	array("date" => "13.03.2002", "id" => "2"),
	array("date" => "17.03.2012", "id" => "3"),
	array("date" => "20.03.2015", "id" => "4"),
);

Соответственно, мне нужно было этот массив пересобрать и сделать новый, в порядке убывания дат.

Реализация следующая:

function sort_date($a_new, $b_new) {

	$a_new = strtotime($a_new["date"]);
	$b_new = strtotime($b_new["date"]);

	return $b_new - $a_new;

}

$array = array(
	array("date" => "04.02.2015", "id" => "1"),
	array("date" => "13.03.2002", "id" => "2"),
	array("date" => "17.03.2012", "id" => "3"),
	array("date" => "20.03.2015", "id" => "4"),
);

usort($array, "sort_date");

print_r("<pre>");
print_r($array);

В таком случае мы получаем новый массив в уже отсортированном виде.

Если вы хотите сделать наоборот, от меньшего к большему, то поменяйте местами переменные «$a_new» и «$b_new».

Удачных вам разработок!

Рекомендуем к просмотру
Находим наибольшее и наименьшее значение массива на PHP/JavaScript
Статьи и советы
Как преобразовать дату в секунды и наоборот на PHP?
Статьи и советы
Как вычитать и сравнивать даты в PHP?
Статьи и советы
0
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Подняться наверх
«Pandoge» - помощник вебмастера