SORT
Bir dizinin elemanlarını küçükten büyüğe doğru sıralar...
Dizideki anahtarları 0 dan başlayan anahtarlara çevirir.
sort() fonksiyonu büyük küçük harf ayrımı yapar..
Büyük harfler, küçük harflerden önce gelir. A, Z,den küçüktür, Z de a dan küçüktür...
Bu fonksiyonun isteğe bağlı ikinci bir parametresi vardır. Bu fonksiyon SORT_REGULAR (varsayılan), SORT_NUMERIC ya da SORT_STRING sabitlerinden birini geçirebilirsiniz.
Sıralama tipinin belirtilebilmesi, sayılar (örneğin 2 ve 12) içerebilecek olan karakter katarlarını karşılaştırdığınız durumlarda faydalıdır. 2 sayısı 12'den küçüktür, ama karakter katarı olarak '12', '2'den küçüktür...
<?php
$hayvanlar = array("ceylan", "aslan", "deve", "bufalo");
sort($hayvanlar);
reset($hayvanlar);
while (list($key, $val) = each($hayvanlar)) {
echo "hayvanlar[" . $key . "] = " . $val . "<br>";
}
/*
ÇIKTISI - Değerler Alfabetik Olarak Sıralanır
hayvanlar[0] = aslan
hayvanlar[1] = bufalo
hayvanlar[2] = ceylan
hayvanlar[3] = deve
*/
?>USORT
(PHP 3 >= 3.0.3, PHP 4, PHP 5)
Kullanıcı tanımlı bir fonksiyonla sıralama yapmak için kullanılır...
Verilen diziyi Türkçe harf destekli küçükten büyüğe doğru sıralar.
Parametre olarak tek boyutlu bir dizi verilebilir.
<?php
// tr siralama
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;
}
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);
/*
Çıktısı
Array
(
[0] => ağaç
[1] => deneme
[2] => ornek
[3] => örnek
[4] => php
)
*/
?>kaynak: pehepe.org