Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]sortowanie tablicy z uwzględnieniem polskich znaków
Rastman
post 24.09.2010, 09:56:40
Post #1





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 6.06.2004

Ostrzeżenie: (20%)
X----


Witam,
mam pytanie jak w temacie:). Tablica jednowymiarowa z polskojęzyczną treścią. Chciałbym posortować z uwzględnieniem wyrazów zaczynających się na "Ł", "Ś" itd. Czy jest jakaś prosta metoda?


--------------------
Go to the top of the page
+Quote Post
Noidea
post 24.09.2010, 11:14:40
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. $array = array( 'Z', 'Ą', 'T', 'Ś', 'S', 'Ł', 'M', 'L' );
  4.  
  5. setlocale( LC_COLLATE, "pl_PL.utf8", "pl_PL", "polish_Poland", "" );
  6. sort( $array, SORT_LOCALE_STRING );
  7.  
  8. print_r( $array );
  9.  
  10. ?>



Przy czym setlocale potrafi być strasznie upierdliwy, szczególnie pod Windowsem. Jeśli dane pobierasz z bazy, to staraj się posortować je już na tym poziomie, np (MySQL):
  1. SELECT wyrazy
  2. FROM tabela
  3. ORDER BY wyrazy COLLATE utf8_polish_ci


Ten post edytował Noidea 24.09.2010, 11:15:30


--------------------
Go to the top of the page
+Quote Post
Rastman
post 25.09.2010, 11:58:36
Post #3





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 6.06.2004

Ostrzeżenie: (20%)
X----


dzięki, pomogły ustawienia w bazie danych na utf8_polish_ci smile.gif


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 30.06.2025 - 11:59