Może to ci pomoze:


Ciekawszymi funkcjami są natsort(array tablica) i natcasesort(array tablica). Sortują one elementy tekstowe w sposób, w jaki robiłby to człowiek starając się zachować naturalną kolejność elementów. Dla przykładu, sortując w standardowy sposób (za pomocą wcześniejszych funkcji) nazwy plików oznaczonych kolejnymi numerami np. „obrazek1.gif, obrazek2.gif ... obrazek10.gif, obrazek12.gif” otrzymamy kolejność zgodną co prawda z rosnącymi kodami ASCII, tj. „obrazek1.gif, obrazek10.gif, obrazek12.gif, obrazek2.gif”, ale jak widać dla człowieka taka kolejność będzie znacznie odbiegała od naturalnej. Przy użyciu tych funkcji otrzymamy jednak kolejność zgodną z naszą intuicją, tj. „1, 2, 10, 12”. Funkcja natcasesort() różni się jedynie tym, że nie odróżnia dużych i małych znaków (case insensitive).



Co więcej istnieją funkcje, które pozwalają nam dokładnie zdefiniować kryterium czy sposób sortowania: usort(array, function), uasort(array, function), uksort(array, function). Jako drugi parametr przyjmują one nazwę napisanej przez nas funkcji porównującej dwa elementy tablicy.