Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Сортировка массива по двум критериям


Автор: KgCoder 15.10.2010, 18:41
Доброго времени суток.

Есть массив:
Код

$tree = array(
  array('id' => 1, 'parent' => 0, 'user' => 'Nick', 'comment' => 'Really?'),
  array('id' => 2, 'parent' => 0, 'user' => 'Nick', 'comment' => 'How it can be?'),
  array('id' => 3, 'parent' => 2, 'user' => 'John', 'comment' => 'Simply, as it should be!'),
  array('id' => 4, 'parent' => 1, 'user' => 'John', 'comment' => 'Exactly!'),
  array('id' => 5, 'parent' => 3, 'user' => 'Nick', 'comment' => 'It\'s realy cool!'),
);


Нужно получить массив в таком порядке:
Код

$tree = array(
  // thread #1
  array('id' => 1, 'parent' => 0, 'user' => 'Nick', 'comment' => 'Really?'),
  array('id' => 4, 'parent' => 1, 'user' => 'John', 'comment' => 'Exactly!'),
  // thread #2
  array('id' => 2, 'parent' => 0, 'user' => 'Nick', 'comment' => 'How it can be?'),
  array('id' => 3, 'parent' => 2, 'user' => 'John', 'comment' => 'Simply, as it should be!'),
  array('id' => 5, 'parent' => 3, 'user' => 'Nick', 'comment' => 'It\'s realy cool!'),
);


То есть отсортировать по ключам parent и id так, чтобы получить ветки комментариев. Никак не могу составить usort функцию.  smile 

Автор: skyboy 15.10.2010, 18:43
вместо того, чтоб сортировать - сразу построй дерево.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)