В общем, есть двумерный массив содержащий массивы с ключами id, date, text, author
необходимо отсортировать основной массив так, чтобы вложенные массивы располагались в порядке убывания значений их ключей id.
id - это целое число.
Конечно можно написать свою функцию, но возможно ли сделать это стандартными средствами? И если да, то как именно?
Спустя 15 минут, 24 секунды (19.07.2012 - 11:22) pak написал(а):
я так понял у вас масив типа:
Я если сделать его таким видом, тогда легко сортировать по id с помощью krsort:
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 написал(а):
Сенк ю вери мач
Все работает

Все работает
