Супербыстрый хостинг на SSD от 115р в месяц   •   Реклама
1 935 просм
0 комм
Поделиться:

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

Довелось мне поработать с 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».

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

0
комментариев
Гостям запрещено участвовать в обсуждениях сайта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Подняться наверх
«Pandoge» - помощник веб-мастера