Forum Webscript.Ru
		Программирование => PHP => Тема начата: Foshvad от 29 Ноября 2001, 14:03:29
		
			
			- 
				Многоуважаемые, подскажите, кто знает.
 Как отсоритровать ассоциативный массив по определенному полю?
 
 То есть, например, есть массив:
 
 
 
 $books[] = array (
 \'author\' => "$author",
 \'pages\' => "$pages",
 );
 
 
 
 $books[0][pages] - будет количество страниц в книге. Так вот как отсортировать этот массив книг по количеству страниц?
- 
				http://www.php.net/manual/en/function.asort.php
 
 http://www.php.net/manual/en/function.ksort.php
- 
				Эт я читал.... :( Как мне определить параметр, по которому будет сортировка? По author или по pages?
 Сортировка, ведь не элементов внутри определенного $books[], а всех $books[]!
- 
				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);
 
 По-идее, должно работать, но я не уверен ;-)
 Да и лучше сделать можно, наверно, я не разбирался с этой функцией.