natsort() ile Dizilerde sıralama(Doğal Sayı Sıralaması)
Dizi sıralamalarıyla ilgili olarak sort rsort asort ve arsort fonksiyonlarını görmüştük.Şimdide natsort() fonksiyonunu ele alacağız.Natsort() fonksiyonu sort() ile aynı görevi yapar fakat işin içine sayısal değerler girdiğinde sort() fonksiyonu sayılarıda alfabetik sistemdeki gibi sıralamak ister.Natsort() fonksiyonu ise sıralamayı sayısal değerlere göre yapar.Şimdi elimizde bi dosya listesi var.Hadi bunları hem sort() hemde natsort() ile sıralayalım.
Kitap1.xls Kitap23.xls Kitap6.xls Kitap10.xls Kitap62.xls |
Bu dosya listesini aşağıdaki gibi sort ile sıralarsak;
1 2 3 4 5 | $dosyalar=array("Kitap1.xls","Kitap23.xls","Kitap6.xls","Kitap10.xls","Kitap62.xls"); sort($dosyalar); foreach ($dosyalar as $dosyaadi){ echo $dosyaadi."<br>"; } |
Sıralama şöyle olacaktır.
Kitap1.xls Kitap10.xls Kitap23.xls Kitap6.xls Kitap62.xls |
Şimdide sıralamamızı natsort() fonksiyonuyla yapalaım bakalım sıralamamız nasıl değişecek.
1 2 3 4 5 | $dosyalar=array("Kitap1.xls","Kitap23.xls","Kitap6.xls","Kitap10.xls","Kitap62.xls"); natsort($dosyalar); foreach ($dosyalar as $dosyaadi){ echo $dosyaadi."<br>"; } |
Ve sıralama böyle gözükecek.
Kitap1.xls Kitap6.xls Kitap10.xls Kitap23.xls Kitap62.xls |
Sıralama farklılıklarına lütfen inceleyiniz ;)