[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отсортировать двумерный массив
goodguy
Пересмотрел уже всю документацию по этому вопросу, и кучу разных сайтов, но так и не получилось правильно отсортировать массив.

В общем, есть двумерный массив содержащий массивы с ключами id, date, text, author

необходимо отсортировать основной массив так, чтобы вложенные массивы располагались в порядке убывания значений их ключей id.
id - это целое число.

Конечно можно написать свою функцию, но возможно ли сделать это стандартными средствами? И если да, то как именно?



Спустя 15 минут, 24 секунды (19.07.2012 - 11:22) pak написал(а):
я так понял у вас масив типа:
Array
(
[0] => Array
(
[id] => 1
[date] => 20-12-2012
[text] => текс1
[author] => сабака
)

[1] => Array
(
[id] => 8
[date] => 23-11-2012
[text] => текс2
[author] => котэ
)

[2] => Array
(
[id] => 3
[date] => 3-06-2012
[text] => текс3
[author] => чебурашка
)

)


Я если сделать его таким видом, тогда легко сортировать по id с помощью krsort:

Array
(
[1] => Array
(
[date] => 20-12-2012
[text] => текс1
[author] => сабака
)

[8] => Array
(
[date] => 23-11-2012
[text] => текс2
[author] => котэ
)

[3] => Array
(
[date] => 3-06-2012
[text] => текс3
[author] => чебурашка
)

)

Спустя 31 минута, 32 секунды (19.07.2012 - 11:54) pak написал(а):
О нашел чудесную функцию array_multisort,

$arr = array(array('id' => 8, 'date' => '20-12-2012', 'text' => 'текс1', 'author' => 'сабака'),
array('id' => 1, 'date' => '23-11-2012', 'text' => 'текс2', 'author' => 'котэ'),
array('id' => 3, 'date' => '3-06-2012', 'text' => 'текс3', 'author' => 'чебурашка')
);


foreach ($arr as $r)
$id[] = $r['id'];

array_multisort($id, SORT_DESC, $arr);



print_r($arr);

Вывод:

Array
(
[0] => Array
(
[id] => 8
[date] => 20-12-2012
[text] => текс1
[author] => сабака
)

[1] => Array
(
[id] => 3
[date] => 3-06-2012
[text] => текс3
[author] => чебурашка
)

[2] => Array
(
[id] => 1
[date] => 23-11-2012
[text] => текс2
[author] => котэ
)

)

Спустя 20 часов, 9 минут, 41 секунда (20.07.2012 - 08:03) goodguy написал(а):
Сенк ю вери мач cool.gif
Все работает tongue.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.