Mustafa Kemal ATATÜRK
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.
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.
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.
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.
yakuter.com © 2006-2008 Erhan Yakut. Tasarım Fallendesign.
Site içerisindeki içerikler izinsiz veya kaynak gösterilmeksizin kopyalanamaz, alıntı yapılamaz.

1 deli dana
03 Mart 2008, 19:32
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 ?