6. Türkçe Destekli sort() Fonksiyonu

Açıklama

Verilen diziyi Türkçe harf destekli küçükten büyüğe doğru sıralar.

Betik

Aşağıdaki betikde tr_sort() fonksiyonu tanımlanmıştır. Parametre olarak tek boyutlu bir dizi verilebilir.

<?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;
}

function 
tr_sort(&$dizi) {
    return 
usort($dizi"turkce_sirala");
}

# Örnek Kullanımı
$turkce_dizi = array("deneme""örnek""ağaç""php""ornek");
tr_sort($turkce_dizi);
print_r($turkce_dizi);
?>

Örnek kullanımın çıktısı aşağıdaki gibi olacaktır.

Array
(
    [0] => ağaç
    [1] => deneme
    [2] => ornek
    [3] => örnek
    [4] => php
)

Terimler

betikscript
diziarray

« Önceki Ana Sayfa Sonraki »
Türkçe Destekli ucwords() Fonksiyonu Yukarı Basılı Kaynaklar (Kitaplar)