Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie tablicy a polskie znaki
Myrek
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
itsme
post
Post #2





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




posiedziałem trochę i oto jest mój pomysł na rozwiązanie Waszego problemu.
Mamy dwie tablice gdzie w jednej są wyrazy z polskimi literami zaś w drugiej bez polskich liter. Sortujemy druga tablicę (tą bez polskich) za pomoca funkcji asort() czyli należy przyczytać instrukcję.
Następnie jest pętla do wyświetlenia posortowanej drugiej tablicy bez polskich znaków. Zamiast echo "$tablica2[$index]"; wstawiamy tablice z polskimi znakami gdzie zmienna $index określi który wyraz ma się wyświetlić.
Przykład działania znajdziecie TUTAJ
[php:1:6e967699f9]
<?php
$tablica[0]="słoń";
$tablica[1]="masło";
$tablica[2]="cień";
$tablica[3]="leżak";

$tablica2[0]="slon";
$tablica2[1]="maslo";
$tablica2[2]="cien";
$tablica2[3]="lezak";

asort($tablica2);
foreach($tablica2 as $index => $polski)
{
echo "$tablica[$index] $polski<BR>";
}
?>
[/php:1:6e967699f9]
Zapewne ktoś zna lepszy sposób ....
Go to the top of the page
+Quote Post

Posty w temacie
- Myrek   Sortowanie tablicy a polskie znaki   2.05.2003, 23:58:47
- - bamboos   Witam!!! mozesz sprobować najpierw zastąpić pierws...   3.05.2003, 13:09:44
- - Myrek   Nie zadobry pomysł, choć trafny Myślę, że są inn...   3.05.2003, 18:51:44
- - It's_me   posiedziałem trochę i oto jest mój pomysł na rozwi...   3.05.2003, 20:36:21
- - Myrek   Dzięki itsme. Podrasowałem trochę twój skrypt i wy...   3.05.2003, 21:50:00
- - It's_me   Cytat$array[0]['name'] = "Niko"; $array[0]['age'] ...   3.05.2003, 22:28:22
- - Myrek   itsme, czego wcześniej nie napisałeś, że ten twój ...   3.05.2003, 23:56:32
- - zombie   Cytatitsme, czego wcześniej nie napisałeś, że ten ...   13.08.2003, 11:01:41
- - kurtz   Hej @all: Olaboga.. Po co tak kombinowac ;) loca...   13.08.2003, 12:24:01
- - Gonzo   Sortowanie   1.09.2003, 17:35:18
- - zombie   Kurtz już sprawę wyjaśnił. :wink: <?php setlo...   2.09.2003, 08:19:58
- - Gonzo   Sortowanie   2.09.2003, 16:55:06
- - adwol   Re: Sortowanie   2.09.2003, 21:53:34
- - Gonzo   Sortowanie   3.09.2003, 12:57:37
- - kurtz   Re: Sortowanie   3.09.2003, 15:17:47
- - Gonzo   Sortowanie   3.09.2003, 15:40:51
- - msulik   Jeśli setlocale nic nie da, to spróbuj tego: [ lin...   3.09.2003, 22:46:52
- - Gonzo   Sortowanie   4.09.2003, 08:27:38
- - kurtz   Re: Sortowanie   4.09.2003, 09:56:51
|- - lukaszkkk   Cytat(kurtz @ 4.09.2003, 10:56:51 ) H...   13.09.2008, 10:48:49
- - Gonzo   Sortowanie   4.09.2003, 15:52:55
- - msulik   Re: Sortowanie   4.09.2003, 16:00:36
- - adwol   Re: Sortowanie   4.09.2003, 16:07:30
- - Gonzo   Sortowanie   4.09.2003, 16:35:33
- - orson   Re: Sortowanie   4.09.2003, 20:38:50
- - Gonzo   Sortowanie...   10.09.2003, 13:42:15
- - Gonzo   Sortowanie...   10.09.2003, 15:35:09
- - Gonzo   Edytor   11.09.2003, 08:27:53
- - webdice   ~lukaszkkk masz licencje na odkopywanie? Zamykam.   14.09.2008, 11:40:01


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.05.2026 - 13:45