Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Отсортировать многомерный массив по значеним внутренних элементов. (http://www.flasher.ru/forum/showthread.php?t=144953)

mooncar 26.09.2010 00:05

Отсортировать многомерный массив по значеним внутренних элементов.
 
Пожалуйста, помогите отсортировать многомерный массив.
Массив sec имеет такие элементы:
Код:

sec[1][$title, $id, $qw]
.
.
.
sec[12][$title, $id, $qw]

Нужно отсортиртовать sec так, чтобы сперва шли его элементы, у которых у которых $title старше.
1...12 - это индексы, они соответственно, должны перемешаться, поскольку порядок следования элементов изменится. Но все внутренние связи должны сохраниться.
Пытался и array_multisort() использовать и другие функции использовать и их комбинации, но тщетно, оказалось для меня слишком сложно без соотв. подготовки.

membrilius 26.09.2010 17:02

могу дать пример.

Код:

function fcompare($a, $b)
{
  return strcasecmp($a['pr'], $b['pr']);
}

$arr = array(
  1 => array ( 'name' => 'mas5', 'pr' => 'feerer dsf '),
  2 => array ( 'name' => 'mas4', 'pr' => 'arerdfgdfg df'),
  3 => array ( 'name' => 'mas6', 'pr' => 'tytfgdfgdfg sdf'),
  4 => array ( 'name' => 'mas7', 'pr' => 'zufdgdfasf sdf'),
  5 => array ( 'name' => 'mas8', 'pr' => 'wifgsgfhhk sdf'),
  6 => array ( 'name' => 'mas2', 'pr' => 'bofdretfdg sdf'),
  7 => array ( 'name' => 'mas9', 'pr' => 'ckxcfxcbdyfd sdf')
);

usort($arr, 'fcompare');

foreach($arr as $r => $v)
{
        echo $v['pr']."<br />";
}

по аналогия сделайте себе

mooncar 26.09.2010 20:45

Спасибо.


Часовой пояс GMT +4, время: 09:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.