Программирование > PHP
Сортировка ассоциативного массива
(1/1)
Foshvad:
Многоуважаемые, подскажите, кто знает.
Как отсоритровать ассоциативный массив по определенному полю?
То есть, например, есть массив:
$books[] = array (
\'author\' => "$author",
\'pages\' => "$pages",
);
$books[0][pages] - будет количество страниц в книге. Так вот как отсортировать этот массив книг по количеству страниц?
MHz:
http://www.php.net/manual/en/function.asort.php
http://www.php.net/manual/en/function.ksort.php
Foshvad:
Эт я читал.... :( Как мне определить параметр, по которому будет сортировка? По author или по pages?
Сортировка, ведь не элементов внутри определенного $books[], а всех $books[]!
MHz:
http://www.php.net/manual/en/function.array-multisort.php
// Копируешь массив страниц в другой массив:
reset $books;
$book_pages = array();
foreach ($books as $pages) {
$book_pages[] = $pages[\'pages\'];
}
// сортируешь один массив в соотвествии с другим
array_multisort($book_pages, $books);
По-идее, должно работать, но я не уверен ;-)
Да и лучше сделать можно, наверно, я не разбирался с этой функцией.
Навигация
Перейти к полной версии