![]() |
![]() |
![]()
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%) ![]() ![]() |
itsme, czego wcześniej nie napisałeś, że ten twój kod działa też na polskie znaki, a ja tworzyłem swój (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Też działa:
Kod function sort_wielowymiar($tablica, $kolumna)
{ $i=0; foreach ($tablica as $wartosc) { $tablica2[$i] = strtr($wartosc[$kolumna], "ąćęłńśżźó", "acelnszxo"); $i++; } asort($tablica2); $i=0; $ile = count(array_keys($tablica[0])); foreach($tablica2 as $index => $xxx) { for ($x=0; $ile>$x; $x++) { $tab[$i][$x] = $tablica[$index][$x]; } $i++; } return $tab; } |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 19:36 |