PHP nabízí vskutku rozsáhlé možnosti pro práci s poli a to včetně třídění. Problém ovšem nastává, pokud je potřeba setřídit prvky pole, jejichž počáteční písmena neobsahují pouze znaky anglické abecedy, ale také další písmena s diakritikou, či jiné symboly. V takovém případě jsou tyto položky umístěny na začátek, či konec pole (záleží na nastavení serveru), kam přitom nemusí vůbec patřit. Tento problém je sice možné obejít setříděním prvků při výběru z databáze, někdy ale stejně může nastat situace, kdy je nutné seřadit až samotné pole.
Sám jsem na tuto situaci narazil, a proto jsem se rozhodl, že se pokusím napsat vlastní třídící funkci, která bude prvky polí řadit korektně.
Je využito funkce usort(), která umožňuje pro třídění definovat vlastní funkci, ve které dochází k porovnávání jednotlivých prvků mezi sebou na základě vlastních kritérií. K tomu, aby byly jednotlivé položky pole správně řazeny, bylo nutné před samotným porovnáváním jednotlivých dvojic, převést speciální znaky na znaky anglické abecedy. Toto bohužel vyžaduje mít seznam všech speciálních znaků s překlady na znaky standardní.

Poslední komentáře
4 dny 20 hod zpět
3 týdny 3 dny zpět
3 týdny 3 dny zpět
9 týdnů 1 den zpět
15 týdnů 1 den zpět
16 týdnů 1 den zpět
20 týdnů 4 dny zpět
21 týdnů 6 dnů zpět
22 týdnů 1 den zpět
22 týdnů 2 dny zpět