Случайный выбор победителя «Вконтакте»   •   Online-инструменты
224 просм
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"),
);

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

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

<?php
	$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;
	}

	usort($array, "sort_date");

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

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

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

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

0
комментарий
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария