PHP ile Türkçe Karakter Sıralama

Genel Yorum yap

Kod:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$harf = "AaBbCcÇçDdEeFfGgĞğHhIıİiJjKkLlMmNnOoÖöPpRrSsŞşTtUuÜüVvYyZz";
$harfler = str_split($harf,1);
 
function turkcesirala($a,$b)
{
    global $harfler;
    $ha = array_search(substr($a,0,1),$harfler);
    $hb = array_search(substr($b,0,1),$harfler);
    if($ha >= $hb) return true; else return false;
}
 
$yazarlar = array("Öküz"=>1,"At"=>2,"Çeşit"=>3,"Zeytin"=>4,"Ğeviş"=>5,"Gev"=>6);
 
uksort($yazarlar,"turkcesirala");
 
var_export($yazarlar);

Sonuç:

1
2
3
4
5
6
7
8
array (
  'At' => 2,
  'Çeşit' => 3,
  'Gev' => 6,
  'ÄževiÅŸ' => 5,
  'Öküz' => 1,
  'Zeytin' => 4,
)

Güncelleme: Sadece ilk karakterlerin sırasının önemli olduÄŸu bir yerde kullanılmak için yazılmıştır. Ömer ÜÇEL’in belirttiÄŸi ÅŸekilde kullanılırsa tüm karakterler göz önüne alınarak sıralayacaktır.

Kod:

1
2
3
setlocale(LC_ALL, 'tr_TR.UTF-8');
$yazarlar = array("Öküz"=>1,"At"=>2,"Çeşit"=>3,"Zeytin"=>4,"Ğeviş"=>5,"Gev"=>6);
ksort($yazarlar, SORT_LOCALE_STRING);

“PHP ile Türkçe Karakter Sıralama” girdisine 3 yorum yapılmış

  1. ahmet söyledi:

    Türkçe için doÄŸal olarak sıralama yok mu Php’de? Olsa gerek sanki..

  2. Adem Alp YILDIZ söyledi:

    Olması gerektiğinden yanayım fakat neden çalışmadığını araştırmaktansa çalışanı yazmayı tercih ediyorum

  3. Ömer ÜCEL söyledi:

    Şu şekilde sorun çıkmaz. http://pastebin.com/zTMs0U5K

Yorum Yap

WP Theme & Icons by N.Design Studio
Girdi Beslemesi Yorum Beslemesi GiriÅŸ