acil yardım... php, array, sort, turkish problem
arkadaşlar, 3 gündür uğraşmama rağmen, türkçe olarak diziyi sıralayamıyorum. setlocale denedim, öyle sort ettim olmadı. Yardımlarınız için şimdiden teşekkürler.
<?php
$alfabe = array('a', 'b', 'c', 'ç', 'd', 'e', 'f', 'g', 'ğ', 'h', 'ı', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'ö', 'p', 'r', 's', 'ş', 't', 'u', 'ü', 'v', 'y', 'z');
setlocale(LC_ALL, "tr_TR");
sort($alfabe, SORT_LOCALE_STRING);
print_r($alfabe);
/* Çıktısı
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
[5] => f
[6] => g
[7] => h
[8] => i
[9] => j
[10] => k
[11] => l
[12] => m
[13] => n
[14] => o
[15] => p
[16] => r
[17] => s
[18] => t
[19] => u
[20] => v
[21] => y
[22] => z
[23] => ç
[24] => ö
[25] => ü
[26] => ğ
[27] => ı
[28] => ş
)
*/
?>
header('Content-Type: text/html; charset=utf-8');
setlocale(LC_ALL, 'tr');
$alfabe = array('a', 'b', 'c', 'ç', 'd', 'e', 'f', 'g', 'ğ', 'h', 'ı', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'ö', 'p', 'r', 's', 'ş', 't', 'u', 'ü', 'v', 'y', 'z');
$collator = new Collator('tr_TR');
$collator->sort($alfabe);
var_dump($alfabe);
/*
array (size=29)
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'ç' (length=2)
4 => string 'd' (length=1)
5 => string 'e' (length=1)
6 => string 'f' (length=1)
7 => string 'g' (length=1)
8 => string 'ğ' (length=2)
9 => string 'h' (length=1)
10 => string 'ı' (length=2)
11 => string 'i' (length=1)
12 => string 'j' (length=1)
13 => string 'k' (length=1)
14 => string 'l' (length=1)
15 => string 'm' (length=1)
16 => string 'n' (length=1)
17 => string 'o' (length=1)
18 => string 'ö' (length=2)
19 => string 'p' (length=1)
20 => string 'r' (length=1)
21 => string 's' (length=1)
22 => string 'ş' (length=2)
23 => string 't' (length=1)
24 => string 'u' (length=1)
25 => string 'ü' (length=2)
26 => string 'v' (length=1)
27 => string 'y' (length=1)
28 => string 'z' (length=1)
*/