4440561067_ff472f723c_b

Jak sortować tablice UTF-8 w PHP

Jeżeli mamy tablicę której kluczami są nazwy miejscowości (zakodowanych w UTF-8) i chcemy ją posortować alfabetycznie po kluczach to mamy problem. Zwykłe ksort( $array ); nie wystarczy :(

Najpierw musimy upewnić się że jest załadowany odpowiedni locale, a następnie użyć metody sortowania za pomocą funkcji użytkownika. A oto pełne rozwiązanie w PHP:

<?php
setlocale( LC_ALL , 'pl_PL.UTF-8' );
uksort( $array , 'strcoll' );

Została tutaj użyta funckja strcoll która porównuje dwa stringi według collate aktualnego locale.

Autor zdjęcia: Jessica Wilson

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>