Bu yazı 21.11.2007 - 10:33 tarihinde yayınlanmıştır

PHP Array listesini Türkçe uyumlu alfabetik sıralama

PHP ile karakterler üzerinde işlem yapmak istediğinizde, kimi durumlarda Türkçe karakter sıkıntısı çekebilirsiniz. Örneğin tanımlamış olduğunuz dizi değişken içerisinde yer alan ve Türkçe karakter ile başlayan verileri alfabetik olarak sıralamak isterseniz icon smile PHP Array listesini Türkçe uyumlu alfabetik sıralama

Örnek dizi değişken

Bu uygulama için basit bir dizi değişken oluşturalım ve her iki durum için de sıralayalım.

$dizi = array('d','f','c','e','a','ç','b');

Dizi değişkenim yukarıdaki ve şimdi bunu alfabetik olarak sıralamayı deneyelim icon smile PHP Array listesini Türkçe uyumlu alfabetik sıralama

Normal sıralama

Dizi değişkenleri alfabetik olarak sıralamak için bilenen sort fonksiyonu. Bunu uyguluyorum ve elde edeceğimiz listeye bakıyoruz.

$dizi = array('d','f','c','e','a','ç','b');
sort($dizi);
print_r($dizi);

Bu sıralama ile alttaki çıktıyı aldım.

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f [6] => ç )

Sıralama yanlış oldu. ç harfi listenin sonuna gitti icon smile PHP Array listesini Türkçe uyumlu alfabetik sıralama

Türkçe karakter destekli sıralama

Bu kez setlocale fonksiyonu ile Türkçe dil üzerinde çalışacağımı belirtiyorum ve sortfonksiyonuna da bunu dikkate almasını söylüyorum.

setlocale(LC_ALL,'turkish');
$dizi = array('d','f','c','e','a','ç','b');
sort($dizi,SORT_LOCALE_STRING);
print_r($dizi);

Şimdi doğru sıralamayı elde ettim;

Array ( [0] => a [1] => b [2] => c [3] => ç [4] => d [5] => e [6] => f )

Görüldüğü gibi setlocale fonksiyonu içerisinde turkish tanımlaması yaptım. Yani Türkçe karakterler üzerinde işlem yapacağımızı belirttik. Bu değer PHP sürümleri üzerinde farklılık gösterebiliyor. Bu nedenle eğer turkish tanımlaması sizde çalışmazsa bunun yerine sırasıyla,

  • tr
  • TR
  • tr_TR
  • turkey

denemelerini yapabilirsiniz.

Merak Ettikleriniz

Yorumlar
Yorum Yap

İsminiz

E-Posta

Web Siteniz

Yorumunuz

Dmry.net Vital Teknoloji tarafından desteklenmektedir