Każde sortowanie polega na przyrównywaniu kolejnych elementów ze sobą i ustalanie ich pozycji w szeregu.
I do tego właśnie wykorzystuje się
sortowanie szybkie dla kolejnych elementów sortowanej tablicy.
Funkcje sort itd. robią dokładnie to samo, tylko mają z góry zaprogramowane metody sortowania, że od największej do najmniejszej, że alfabetycznie, naturalnie, itp.
usort idzie dalej. Pozwala posortować coś, czego standardowe algorytmy sortowania PHP nam nie umożliwiają.
Wszystko co trzeba zrobić, to napisać małą funkcję, która dowolne dwa elementy porówna i zwróci wartość 0 (elementy są takie same), ujemną (pierwszy element będzie przed drugim, czyli jest "mniejszy") lub dodatnią (pierwszy będzie za drugim, czyli jest większy).
Jak w życiu natrafisz na problem posortowania czegoś, co nie będzie podchodziło pod żadną z gotowych funkcji sortowania, to z pomocą przyjdzie usort. Mój przykłąd użycia powyżej. Było tego więcej, ale teraz nie pamiętam już dokładnie.