Ocak 2015

PHP ile Dizi Değerlerini Türkçe Uyumlu Sıralamak

PHP ile dizi değerlerini Türkçe uyumlu sıralamak için php-intl paketi kurulu olması şartıyla Collector sınıfı çok yararlı olacaktır.

Aşağıdaki örneği ve ürettiği sonuçları inceleyebilirsiniz.

	$dizi[5] = 'i';
	$dizi[6] = 'İ';
	$dizi[7] = 'ö';
	$dizi[8] = 'Ö';
	$dizi[9] = 'ş';
	$dizi[10] = 'Ş';
	$dizi[11] = 'ü';
	$dizi[12] = 'Ü';
	$dizi[1] = 'ç';
	$dizi[2] = 'Ç';
	$dizi[3] = 'ı';
	$dizi[4] = 'I';
	
	//normal hali
	print_r($dizi);

	//asort ile sıralanmış hali
	asort($dizi);
	print_r($dizi);
	
	//colltor->asort ile sıralanmış hali
	$collator = new Collator('tr_TR');
	$collator->asort($dizi);
	print_r($dizi);

Sonuçlar

Array
(
    [5] => i
    [6] => İ
    [7] => ö
    [8] => Ö
    [9] => ş
    [10] => Ş
    [11] => ü
    [12] => Ü
    [1] => ç
    [2] => Ç
    [3] => ı
    [4] => I
)

Array
(
    [4] => I
    [5] => i
    [2] => Ç
    [8] => Ö
    [12] => Ü
    [1] => ç
    [7] => ö
    [11] => ü
    [6] => İ
    [3] => ı
    [10] => Ş
    [9] => ş
)

Array
(
    [1] => ç
    [2] => Ç
    [3] => ı
    [4] => I
    [5] => i
    [6] => İ
    [7] => ö
    [8] => Ö
    [9] => ş
    [10] => Ş
    [11] => ü
    [12] => Ü
)