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.
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.
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
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
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
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
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..
Yakuter web tasarım, yazılım geliştirme, IPhone uygulamaları gibi konular da Üreticy'yi öneriyor.
Masaüstünüzü iPad arayüzü şeklinde kullanabilmeniz ve uygulama merkezi sayesinde sunduğu onlarca uyg...
YouTube ve diğer popüler çevrimiçi video sitelerinden video indirmek istiyorsanız kullanabileceğiniz...
Elder Scrolls V Skyrim için Bethesda Softworks tarafından hazırlanmış duvar kağıtları....
Kaybettiğiniz, yanlışlıkla sildiğiniz veya virüslerden mağdur olduğunuz dosyalarınızı bu programla k...
Star Wars Knights of the Old Republic 2 oyunu için hazırlanmış en güzel duvar kağıtlarını sizin için...
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.