![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 8.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam problem z polskimi znakami podczas sortowania tablicy. Używam takiego kodu do sortowania: Kod function sortowanie($x, $y)
{ if ($x[1] == $y[1]) return 0; else if ($x[1] < $y[1]) return -1; else return 1; } usort($tablica, sortowanie); Skrypt sortuje "zwykłe" wyrazy w tablicy, a te zaczynające się na np. "ś", przerzuca na sam koniec tablicy. Wcale mu się nie dziwię, bo php nie wie gdzie w alfabecie znajduje się litera "ś". Czy jest jakiś sposób na poprawienie tego? Dzięki za odpowiedzi Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 8.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki itsme. Podrasowałem trochę twój skrypt i wyszło mi coś takiego:
Kod <?
function sortowanie($tablica) { $i=0; foreach ($tablica as $wartosc) { $tablica2[$i] = strtr($wartosc, "ąćęłńśżźó", "acelnszxo"); $i++; } asort($tablica2); $i=0; foreach($tablica2 as $index => $xxx) { $tab[$i] = $tablica[$index]; $i++; } return $tab; } $tablica = sortowanie($tablica); //wyświetlenie posortowanej tablicy foreach ($tablica as $wartosc) { echo $wartosc; echo "<BR>"; } ?> Teraz trzeba tylko do funkcji sortowanie przekazać tablice i jest ok. Ale ja mam posortować tablice wielowymiarową. Muszę posiedzieć jeszcze nad tym skryptem i go ulepszyć. Jak to zrobię to umieszczę go tu. Swoją drogą to dziwne, że nikt nie ma na to gotowego projektu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 23:26 |