(PHP) сортировка в многомерном массиве по дате.

andreyjulii
Дата: 02.11.2006 11:19:15
Имеется вот такой массив:

$arr_otob[$i]=array($arr_v1,$arr_v2,$arr_v3,$arr_v4);

где $arr_v2 дата типа 20.10.2006 16:56:41
его нужно отсортировать по дате ($arr_v2).

Помогите , пожалуйста.

Модератор: Оформляйте топики согласно требованиям форума!!! Топики оформленные не по правилам - будут удаляться.
anvano
Дата: 03.11.2006 10:57:14
Как вариант:

<?

// Исходные данные - неотсортированный массив
$arr_main[0] = array('Вторник','02-01-2001');
$arr_main[1] = array('Пятница','05-01-2001');
$arr_main[2] = array('Понедельник','01-01-2001');
$arr_main[3] = array('Среда','03-01-2001');
$arr_main[4] = array('Четверг','04-01-2001');

// Функция сравнения двух элементов - сравниваем по индексу 1 - столбец даты
function cmp($a, $b) { 
   if ($a[1] == $b[1]) { 
       return 0; 
   } 
   return ($a[1] < $b[1]) ? -1 : 1; 
} 

echo "До сортировки:<br>";
foreach($arr_main as $k => $v) echo  "$v[0] => $v[1] <br>";

// Пользовательская сортировка с помощью нашей функции сравнения
usort($arr_main,"cmp");

echo "<br>После сортировки:<br>";
foreach($arr_main as $k => $v) echo  "$v[0] => $v[1] <br>";

?>

Вывод:
До сортировки:
Вторник => 02-01-2001
Пятница => 05-01-2001
Понедельник => 01-01-2001
Среда => 03-01-2001
Четверг => 04-01-2001

После сортировки:
Понедельник => 01-01-2001
Вторник => 02-01-2001
Среда => 03-01-2001
Четверг => 04-01-2001
Пятница => 05-01-2001 
andreyjulii
Дата: 07.11.2006 11:37:15
Спасибо. Все работает . У себя нашел ошибку неправильная строка одна с датой.