"Çalışmadan, öğrenmeden, yorulmadan rahat yaşamanın yollarını aramayı alışkanlık haline getirmiş milletler, evvela haysiyetlerini, sonra hürriyetlerini ve daha sonra da istikballerini kaybetmeye mahkumdurlar."

Mustafa Kemal ATATÜRK

yakuter


01 Aralık 2006

Php İle Dizileri Sıralamak

Etiketler: ,
Kategori Php, Web |

Her programlama dilinde olduğu gibi php'de de diziler vardır ve birçok uygulamada kullanılmaktadır. Dizinin verilerini düz veya tersten sıralamak için öyle çok fazla uğraşmanıza da gerek yok. Php'nin sort() gibi kendi fonksiyonlarıyla kolaylıkla bu işlemi gerçekleştirebiliriz. Tabi konuyu anlatırken dizinin elemanlarının sadece sayı olmayıp yazı(string) da olabileceğini unutmamak lazım.

Normal Diziler

Öncelikle normal bir diziyi sıralayalım. İlk dizimiz beş adet rastgele diziye girilmiş olan isimden oluşsun. sort() fonksiyonunu dizimizde çalıştırıyoruz.

<?php $isimler = array("ceyhun", "selin" , "tayfun", "ahmet", "nalan");
sort($isimler);

//cikti alma fonksiyonu
for ($i=0; $i <= 4; $i++)
    echo $isimler[$i]."<br \>";
?> 

Bu görmüş olduğunuz fonksiyonda diziye 5 adet veri girildikten sonra veriler sıraya sokulur ve ekrana yazılır. Çıktısında tahmin edebileceğiniz gibi dizimiz alfabetik sıraya sokulmuş olacaktır.

ahmet
ceyhun
nalan
selin
tayfun

Dizinin elemanlarını sayılardan oluştursak da uygulama ve sonuç değişmeyecektir.

<?php $rakamlar = array("3", "7" , "2", "4", "3.5");
sort($rakamlar);

//cikti alma fonksiyonu
for ($i=0; $i <= 4; $i++)
    echo $rakamlar[$i]."<br \>";
?>

Yukarıdaki kodun çıktısında sayılar sıraya sokulmuş olacaktır yani şu şekilde.

2
3
3.5
4
7

Birleştirilmiş Diziler

Dizimizin değerleri yukarıdakiler gibi tek yapılı değil çift yapılı yani birleştirilmiş olabilirler. Bu durumda da sıralama işlemi için asort() fonksiyonunu kullanırız.

<?php
$fiyatlar = array ( "kalem" => "2.50",
                "cetvel" => "1.25",
                "defter" => "4.00",
                                        )

asort($fiyatlar);

//cikti alma fonksiyonu
foreach($fiyatlar as $key => $value)
  echo $key."'in fiyatı ".$value." ytl<br />";
?>

Bu fonksiyonda sıralama fiyatlara göre olacaktır. Doğal olarak çıktı fiyata göre sıralanmış şekildedir.

cetvel'in fiyatı 1.25 ytl
kalem'in fiyatı 2.50 ytl
defter'in fiyatı 4.00 ytl

Eğer fiyata göre değil de ürünün ismine göre sıralamak isteseydik ksort() fonksiyonunu kullanabilirdik. Kullanımı yukarıdakinin aynısıdır.

Şuana kadar sort(), asort(), ve ksort() fonksiyonlarından bahsettim. Bunların karşılığı olan ve dizileri tersten sıralamaya yarayan rsort(), arsort() ve krsort() fonksiyonları da vardır ve aynı şekilde kullanabilirsiniz.


“Php İle Dizileri Sıralamak” için 1 Yorum

  • 1 deli dana

    sort(),asort(),ksort()

    komutlarının tam olarak hangi mantıkla çalıştığını ve ne işe yaradığını belirtmemişsiniz,kullanımına ağırlık vermişiniz. rica etsem bu konuda açıklamalar yapabilirmisiniz ?


Yorum Yapın

yakuter.com © 2006-2008 Erhan Yakut. Tasarım Fallendesign.
Site içerisindeki içerikler izinsiz veya kaynak gösterilmeksizin kopyalanamaz, alıntı yapılamaz.

Wordpress Valid XHTML 1.0 Valid CSS