Php de dizinleri harf sırasına göre sıralamak istediğimizde Türkçe karakterli harfler sıralamayı bozmaktadır. Php de Türkçe harf sıralamasına göre array(dizi) sıralaması yapmak için aşağıda ki fonksiyonu kullanabilirsiniz.
function customSort($a, $b) {
static $charOrder = array('a', 'b', 'c', 'ç', 'd', 'e', 'f', 'g', 'ğ', 'h', 'ı', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'ö', 'p', 'r', 's', 'ş','t', 'u', 'ü', 'v', 'y', 'z');
$a = mb_strtolower($a);
$b = mb_strtolower($b);
for($i=0;$i $valB) return 1;
return -1;
}
if(mb_strlen($a) == mb_strlen($b)) return 0;
if(mb_strlen($a) > mb_strlen($b)) return -1;
return 1;
}
$array = array('ceyhan','şanlıurfa','özkan','ismail','adana');
usort($array, 'customSort');
print_r($array);
//ÇIKTI
//Array ( [0] => adana [1] => ceyhan [2] => ismail [3] => özkan [4] => şanlıurfa )