X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> сортировка в массиве
Diego
сообщение 2010-10-08, 16:43
Сообщение #1
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 298
Регистрация: 2008-12-13
Из: Ярославль

Репутация:   нет  
Всего: 14


К примеру, есть вот такой массив
Array ( [4] => Array ( [title] => Интересные факты из мира животных [date] => 2010-10-08 14:14:47 [url] => pages/interesnoe/interesnye-fakty-iz-mira-zhivotnyh.html [ctitle] => Интересное [curl] => pages/interesnoe/ [module] => pages ) [5] => Array ( [title] => Как вы относитесь к французскому репу? [date] => 2010-10-08 [url] => voting/obschie-oprosy/kak-vy-otnosites-k-francuzskomu-repu.html [ctitle] => [curl] => voting/whats-new/ [cnt] => 48 [module] => voting ) [3] => Array ( [title] => Американцы почтили память жертв теракта 11 сентября [date] => 2010-10-08 14:14:58 [url] => news/mirovye-novosti/amerikancy-pochtili-pamyat-zhertv-terakta-11-sentyabrya.html [ctitle] => Мировые новости [curl] => news/mirovye-novosti/ [module] => news ) [2] => Array ( [title] => В Ярославле сегодня состоялся торжественный приём по случаю тысячелетия города [date] => 2010-10-08 14:14:10 [url] => news/rossiyskie-novosti/v-yaroslavle-segodnya-sostoyalsya-torzhestvennyy-priyom-po-sluchayu-tysyacheletiya-goroda.html [ctitle] => Российские новости [curl] => news/rossiyskie-novosti/ [module] => news ) [1] => Array ( [title] => test [date] => 2010-10-08 [url] => gostevaya.html [module] => gostevaya ) [0] => Array ( [title] => Модуль "Гостевая книга" 0.3 [date] => 2010-10-08 12:12:49 [url] => files/dlya-eleanor-cms/moduli/modul--gostevaya-kniga.html [ctitle] => Модули [curl] => files/dlya-eleanor-cms/moduli/ [module] => files ) )


Нужно его отсортировать по дате

нашел вот такой вариант
function cmp($a,$b){ 
    // функция, определяющая способ сортировки
       if ($a[1] < $b[1]) return -1;
       elseif ($a[1]==$b[1]) return 0;
       else return 1;
    }
    uasort($arr_mod,'cmp');

массив, есессна, присвоен $arr_mod , но сортировке это не помогает, кто вкуривает принцип работы uasort помогите. Кстати, массив, что представлен выше, как бы отсортирован этим кодом
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2010-10-09, 3:18
Сообщение #2
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Diego, сдампите Ваш массив функцией var_export (чтобы получился исполняемый код). И я покажу как вам достичь нужного эффекта.
Перейти в начало страницы
+Цитировать сообщение
Diego
сообщение 2010-10-09, 20:45
Сообщение #3
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 298
Регистрация: 2008-12-13
Из: Ярославль

Репутация:   нет  
Всего: 14


К примеру, вот такой массив (получен с помощью var_export)

array ( 0 => array ( 'title' => 'Модуль "Гостевая книга" 0.3', 'date' => '2010-10-08 12:12:49', 'url' => 'files/dlya-eleanor-cms/moduli/modul--gostevaya-kniga.html', 'ctitle' => 'Модули', 'curl' => 'files/dlya-eleanor-cms/moduli/', 'module' => 'files', ), 1 => array ( 'title' => 'test', 'date' => '2010-10-08', 'url' => 'gostevaya.html', 'module' => 'gostevaya', ), 2 => array ( 'title' => 'В Ярославле сегодня состоялся торжественный приём по случаю тысячелетия города', 'date' => '2010-10-08 14:14:10', 'url' => 'news/rossiyskie-novosti/v-yaroslavle-segodnya-sostoyalsya-torzhestvennyy-priyom-po-sluchayu-tysyacheletiya-goroda.html', 'ctitle' => 'Российские новости', 'curl' => 'news/rossiyskie-novosti/', 'module' => 'news', ), 3 => array ( 'title' => 'Американцы почтили память жертв теракта 11 сентября', 'date' => '2010-10-08 14:14:58', 'url' => 'news/mirovye-novosti/amerikancy-pochtili-pamyat-zhertv-terakta-11-sentyabrya.html', 'ctitle' => 'Мировые новости', 'curl' => 'news/mirovye-novosti/', 'module' => 'news', ), 4 => array ( 'title' => 'Интересные факты из мира животных', 'date' => '2010-10-08 14:14:47', 'url' => 'pages/interesnoe/interesnye-fakty-iz-mira-zhivotnyh.html', 'ctitle' => 'Интересное', 'curl' => 'pages/interesnoe/', 'module' => 'pages', ), 5 => array ( 'title' => 'Как вы относитесь к французскому репу?', 'date' => '2010-10-08', 'url' => 'voting/obschie-oprosy/kak-vy-otnosites-k-francuzskomu-repu.html', 'ctitle' => 'Общие опросы', 'curl' => 'voting/obschie-oprosy/', 'cnt' => '48', 'module' => 'voting', ), )
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2010-10-10, 17:29
Сообщение #4
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Пожалуйста:

$a=array ( 0 => array ( 'title' => 'Модуль "Гостевая книга" 0.3', 'date' => '2010-10-08 12:12:49', 'url' => 'files/dlya-eleanor-cms/moduli/modul--gostevaya-kniga.html', 'ctitle' => 'Модули', 'curl' => 'files/dlya-eleanor-cms/moduli/', 'module' => 'files', ), 1 => array ( 'title' => 'test', 'date' => '2010-10-08', 'url' => 'gostevaya.html', 'module' => 'gostevaya', ), 2 => array ( 'title' => 'В Ярославле сегодня состоялся торжественный приём по случаю тысячелетия города', 'date' => '2010-10-08 14:14:10', 'url' => 'news/rossiyskie-novosti/v-yaroslavle-segodnya-sostoyalsya-torzhestvennyy-priyom-po-sluchayu-tysyacheletiya-goroda.html', 'ctitle' => 'Российские новости', 'curl' => 'news/rossiyskie-novosti/', 'module' => 'news', ), 3 => array ( 'title' => 'Американцы почтили память жертв теракта 11 сентября', 'date' => '2010-10-08 14:14:58', 'url' => 'news/mirovye-novosti/amerikancy-pochtili-pamyat-zhertv-terakta-11-sentyabrya.html', 'ctitle' => 'Мировые новости', 'curl' => 'news/mirovye-novosti/', 'module' => 'news', ), 4 => array ( 'title' => 'Интересные факты из мира животных', 'date' => '2010-10-08 14:14:47', 'url' => 'pages/interesnoe/interesnye-fakty-iz-mira-zhivotnyh.html', 'ctitle' => 'Интересное', 'curl' => 'pages/interesnoe/', 'module' => 'pages', ), 5 => array ( 'title' => 'Как вы относитесь к французскому репу?', 'date' => '2010-10-08', 'url' => 'voting/obschie-oprosy/kak-vy-otnosites-k-francuzskomu-repu.html', 'ctitle' => 'Общие опросы', 'curl' => 'voting/obschie-oprosy/', 'cnt' => '48', 'module' => 'voting', ), );

function Cmp($a,$b)
{
	$a=strtotime($a['date']);
	$b=strtotime($b['date']);
	if($a<$b)
		return -1;
	elseif($a==$b)
		return 0;
	else
		return 1;
}

usort($a,'cmp');
var_dump($a);
Перейти в начало страницы
+Цитировать сообщение
Romanius
сообщение 2010-10-15, 14:34
Сообщение #5
Заглянувший
Иконка группы

Группа: Eleanor user
Сообщений: 3
Регистрация: 2010-09-14

Репутация:   нет  
Всего: нет


даааа. в пхп все делается это очень просто. хотел уже вам предложить сортировку методом булика
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2010-10-15, 23:34
Сообщение #6
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Romanius, предложите.
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
0 чел. читают эту тему (гостей: 0, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0431 сек.    12 запросов    GZIP включен    Сейчас: 2020-11-26, 1:24