İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

PHP Alfabetik Sıralamada Türkçe Karakter Sorunu ?

Nefes_Silence

0
İyinet Üyesi
Katılım
27 Ekim 2013
Mesajlar
18
Reaction score
0
Konum
İzmir
Arkadaşlar,

php ile alfabatik sıralama yapmak istiyorum fakat ç harfi ile başlayan bir şey eklesem hemen ilk sıraya geliyor Türkçe karakter sorununu nasıl çözebilirim ?
 

sanalyer

0
İyinet Üyesi
Katılım
29 Ağustos 2015
Mesajlar
4
Reaction score
0
PHP:
function turkce_sirala($a, $b) {
    $turkce = array('ç' => 'c', 'ğ' => 'g', 'ı' => 'i', 'ö' => 'o',
    'ş' => 's', 'ü' => 'u', 'Ç' => 'C', 'Ğ' => 'G',
    'İ' => 'I', 'Ö' => 'O', 'Ş' => 'S', 'Ü' => 'U');
 
    $a = preg_replace("/(ı|ğ|ü|ş|ö|ç|Ğ|Ü|Ş|İ|Ö|Ç)/e", "\$turkce['\\1'].'~'", $a);
    $b = preg_replace("/(ı|ğ|ü|ş|ö|ç|Ğ|Ü|Ş|İ|Ö|Ç)/e", "\$turkce['\\1'].'~'", $b);
 
    if ($a == $b)
      return 0;
 
      return ($a < $b) ? -1 : 1;
}

Bu fonksiyonu şu şekilde olan bir arraya uygular isek

PHP:
$array = array('ahmet', 'mehmet', 'şahin', 'çetin', 'cenk', 'ziya');
 
usort($array, "turkce_sirala");
print_r($array);

Sonuç olarak çıktımız

PHP:
Array ( [0] => ahmet [1] => cenk [2] => çetin [3] => mehmet [4] => şahin [5] => ziya )
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst