Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]sortowanie tablicy z uwzględnieniem polskich znaków
Forum PHP.pl > Forum > Przedszkole
Rastman
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?
Noidea
  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
Rastman
dzięki, pomogły ustawienia w bazie danych na utf8_polish_ci smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.