Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сортировка массива, отсортировать многомерный массив 
V
    Опции темы
patap
Дата 2.12.2009, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

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



Посоветуйте как правильно отсортировать данный массив по полю update_timestamp?

фрагмент массива
Код
Array
(
    [0] => Array
        (
            [follow_following_id] => 2
            [user_sex] => male
            [last_update] => Array
                (
                    [0] => Array
                        (
                            [update_id] => 13
                            [update_text] => a fdg afg ag a a gadfg dfg
                            [update_timestamp] => 1259671626
                        )
                )
            [comments_cnt] => 5
            [comments] => Array
                (
                    [0] => Array
                        (
                            [uc_text] => asdf asdf asdf
                            [uc_datetime] => 2009-12-01 15:16:39
                            [user_name] => fake
                            [user_avatar] => cbbe64c56b720e7b83c2613319c814aa.jpg
                            [comment_timestamp] => 1259673399
                        )
                )
            [likes_cnt] => 0
        )
)


вот забил  сокращенную версию
Код
  $mas = array(
    array('last_update' => array(array('update_timestamp' => 6))),
    array('last_update' => array(array('update_timestamp' => 8))),
    array('last_update' => array(array('update_timestamp' => 3))),
    array('last_update' => array(array('update_timestamp' => 2))),
    array('last_update' => array(array('update_timestamp' => 5))),
    array('last_update' => array(array('update_timestamp' => 1))),
    array('last_update' => array(array('update_timestamp' => 9))),
    array('last_update' => array(array('update_timestamp' => 4)))
  );
  
  echo '<pre>';
  print_r($mas);
  echo '</pre>';



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Pitlord
Дата 2.12.2009, 13:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 31.10.2009

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



Код

<?php

function cmp($a, $b)
{
    if($a['last_update'][0]['update_timestamp'] == $b['last_update'][0]['update_timestamp'])
        return 0;

    return ($a['last_update'][0]['update_timestamp'] < $b['last_update'][0]['update_timestamp']) ? -1 : 1;
}

$arr = array(
    array('last_update' => array(array('update_timestamp' => 6))),
    array('last_update' => array(array('update_timestamp' => 8))),
    array('last_update' => array(array('update_timestamp' => 3))),
    array('last_update' => array(array('update_timestamp' => 2))),
    array('last_update' => array(array('update_timestamp' => 5))),
    array('last_update' => array(array('update_timestamp' => 1))),
    array('last_update' => array(array('update_timestamp' => 9))),
    array('last_update' => array(array('update_timestamp' => 4)))
);


usort($arr, 'cmp');

print_r($arr);

?>

PM MAIL   Вверх
patap
Дата 2.12.2009, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

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



Pitlord, спасибо! подозревал что нужно usort(), но, до этого момента, не мог понять как в пользовательской функции указать нужный ключ..


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0395 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.