bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
Эта функция сортирует массив по возрастанию с сохранением оригинальных индексов элементов.
Функция не возвращает массив! Она возвращает true, в случае удачного выполнения, и false в случае ошибки. Часто встречал в коде что-то типа $new_array = asort($old_array); - разумеется в результате вместо массива было true, что ставило некоторых в тупик.
Кроме обязательного параметра $array, собственно, массива для сортировки, функция принимает не обязательный параметр - флаги сортировки, которые позволяют управлять работой функции.
Когда я в первые сел "кодить" первый серверный скрипт, я умудрился написать собственную функцию сортировки, всплывшую в памяти со времени изучения программирования на паскале, пузырьком, потратив на это энное количество времени. Лишь несколько недель спустя, я наткнулся на описание этой функции в Интернете, чем был немало удивлен и с тех пор стараюсь сначала смотреть в гугль, на предмет наличия подходящей функции в ядре PHP. Кстати говоря, написать функцию лучше, чем она реализована в ядре в принципе не возможно, по крайней мере ваше решениее в 99.99% случаев будет работать медленнее, использовать больше памяти и выглядеть хуже, чем один вызов функции PHP.