![]() |
![]() |
![]()
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: 63 Pomógł: 0 Dołączył: 19.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Ech... Da mi ktoś w końcu dobry skrypt? Wszystkie poprzednie nie działają dobrze. Sortuję taką tablicę:
nazwa_polska||nazwa_oryginalna||liczba_plyt(int)||nazwa_pliku na przykład tym skryptem: [php:1:0e9e671f6e]<? function cmp ($a, $(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) {return strcmp($a[1], $b[1]);} usort($tablica, "cmp"); ?>[/php:1:0e9e671f6e] albo tym: [php:1:0e9e671f6e]<? function array_csort($marray, $column) { //coded by Ichier2003 foreach ($marray as $row) { $sortarr[] = $row[$column]; } array_multisort($sortarr, $marray); return $marray; } $tab = array_csort($tablica,0); ?>[/php:1:0e9e671f6e] Po wykonaniu przez serwer (digital.gda.pl) wyskakuje mi niby wszystko dobrze posortowane, ale prawie wszystkie elementy są podwójne, tzn. 007: Jutro nie umiera nigdy - 007: Tommorow Never Dies 1 CD 007: Jutro nie umiera nigdy - 007: Tommorow Never Dies 1 CD 007: Licencja na zabijanie - 007: Licence to Kill 2 CD 007: Licencja na zabijanie - 007: Licence to Kill 2 CD 007: Moonraker - 007: Moonraker 1 CD 007: Moonraker - 007: Moonraker 1 CD Nie wiem, co z tym zrobić... :cry: |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 09:40 |