Diziler
3
●568
- 19-08-2008, 16:45:06SORT
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