Php İle Dizileri Sıralamak

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.

Benzer Yazılar

yakuter

Erhan Yakut

www.yakuter.com

Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.

Bu Yazıya Ait Yorumlar

deli dana

deli dana
03 Mart 2008

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 ?

Balkoncu

Balkoncu
20 Aralık 2008

arsort(); kullandığımda numerik değerleri sıralarken ilk rakama göre sıralıyor, sayıların büyüklüklerine göre değil. Buna nasıl bir çözüm getirebiliriz?

fikirbozan

fikirbozan
10 Mayıs 2009

@Balkoncu
Bir yanlışın olacak çünkü bu fonksiyonların hepsi ascii’ye göre sıralama yapıyor. Bilindiği üzere Ascii’de bildiğimiz sayı sıralamasına göredir.

Bu fonksiyon gerçekten baya bir iş kolaylaştırıyor. C’de bu sıralamayı yapmak için en az 5 değişken tanımlamasına 3-4 satır koda ihtiyaç var. Tek bir fonksiyonla bu işlemi gerçekleştirebilmek çok güzel.

Ayrıca for döngüsünde $i değişkenini tersten yani 4′ten 0′a işletirek tersten sıralama yapabiliriz.

kevser kelkitli

kevser kelkitli
22 Şubat 2010

dizilerde silme komutunu kullanıyoruz ya Diziden Kesit Alma deniyor onu browsere nasıl yazdırcağız lütfen cevap gönderin çok acil meslek lisesi

onur

onur
09 Ağustos 2010

yawru şu paragraflara verdiğin text-indent den dolayı sıraladığın dizilerin ilk öğesi içerden başlamış…class larını değiştirde görsellk düzelsin..saygılar..

Peki ya sizin düşünceleriniz?

Facebook Grubumuz Twitter Wordpress Linked in Google Friendfeed RSS Beslemesi Feedburner RSS

Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.

TAMindir.com - Yeni Programlar

iPadian - Windows

Masaüstünüzü iPad arayüzü şeklinde kullanabilmeniz ve uygulama merkezi sayesinde sunduğu onlarca uyg...

ClipGrab - Windows

YouTube ve diğer popüler çevrimiçi video sitelerinden video indirmek istiyorsanız kullanabileceğiniz...

Elder Scrolls V Skyrim Duvar Kağıtları - Windows

Elder Scrolls V Skyrim için Bethesda Softworks tarafından hazırlanmış duvar kağıtları....

Undelete 360 - Windows

Kaybettiğiniz, yanlışlıkla sildiğiniz veya virüslerden mağdur olduğunuz dosyalarınızı bu programla k...

Knights of the Old Republic 2 Duvar Kağıtları - Windows

Star Wars Knights of the Old Republic 2 oyunu için hazırlanmış en güzel duvar kağıtlarını sizin için...

Abonelik

Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.

yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi).
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.