Navigate / search

Php Dizileri Sıralama asort() – arsort()

Not: Sort ve rsort ile sıralama yaparken.Değişken anahtarlarının sayısal değerleri değişir ve sıralamaya göre ilk değere 0 dan başlayarak yukarı doğru yeni anahtar isimlerini verir.

Bir önceki dersimizi bu not ile bitirmiştikŞimdiki asort() ve arsort() fonksiyonlarımızda dizi değerlerinin sıralaması değişse bile ilk olarak dizide aldığı anahtarı muhafaza eder.Sıralama ilk yazdırılsa bile önceki değerinin yazdırır.Şimdi hemen bir örnekle deneyelim.(Sizde deneyerek yapın lütfen ;) ).
İlk önce dizimizi oluşturuyoruz. ilk önce anahtarlarıyla birlikte dizi elemanlarını yazdırıyoruz.Hemen sonra sort ile sıralama yapıp dizimizi anahtarlarıyla birlikte yazdırıyoruz.

1
2
3
4
5
6
7
8
9
$isimler=array("suat","esma","hulya","mehmet","ali","sinan");
foreach ($isimler as $anahtar=>$isim){
	echo "$anahtar.$isim <br>";
}
echo "---------------------------------";
sort($isimler);
foreach ($isimler as $anahtar=>$isim){
	echo "$anahtar.$isim <br>";
}

Sonuç aşağıdaki gibi olacaktır.

0.suat
1.esma
2.hulya
3.mehmet
4.ali
5.sinan
---------------------------------
0.ali
1.esma
2.hulya
3.mehmet
4.sinan
5.suat

Bu kodlamada sort yerine asort kullansaydık dizi anahtarları ilk elemandan 0 ‘dan başlayıp devam etmiyecek.İlk halindeki dizi anahtarları yani indislerini muhafaza edecekler.Böyle ;

0.suat
1.esma
2.hulya
3.mehmet
4.ali
5.sinan
---------------------------------
4.ali
1.esma
2.hulya
3.mehmet
5.sinan
0.suat

Harf sıralaması tersten başa doğru yapmak istersek de komutu böyle kullanıyoruz.

1
arsort($isimler);

sort() – rsort() Php Dizilerinde Sıralama (Harfe Göre)

Şimdide dizi değerleri için veya anahtarları içinde sıralamalara göz gezdireceğiz.Sıralama işlemi harf sırasına göre gider.
İlk olarak sort() komutunu göreceğiz.Şimdi bir dizi oluşturalım kendimize.İçindeki değerleri harf sırası açısından karışık bir şekilde kaydedelim

1
2
3
4
$isimler=array("suat","esma","hulya","mehmet","ali","sinan");
foreach ($isimler as $isim){
	echo "$isim <br>";
}

Ekranda gördüğümüz isimleri kaydettiğimiz sırayla yazdırdık.Şimdi sort() fonksiyonu ile sıralamayı harf sırasına göre yapmak istersek sort($isimler); diye bir satır eklememiz gerekiyor.

1
2
3
4
5
$isimler=array("suat","esma","hulya","mehmet","ali","sinan");
sort($isimler);
foreach ($isimler as $isim){
	echo "$isim <br>";
	}

Ve böylece$ isimler değişkenini yazdırdığımızda sıralama harf sırasına göre olacaktır.Peki ya harf sıralamasını tersten başlatmak istersek ne olacak.Yine bu programındaki diziye örnek olarak;

1
rsort($isimler);

olarak yazmalıyız.
Not: Sort ve rsort ile sıralama yaparken.Değişken anahtarlarının sayısal değerleri değişir ve sıralamaya göre ilk değere 0 dan başlayarak yukarı doğru yeni anahtar isimlerini verir