Anasayfa > Programlama > PHP > Bir diziyi sizin belirlediginiz bir fonksiyona gore siralamak :

Bir diziyi sizin belirlediginiz bir fonksiyona gore siralamak :




Bir diziyi kendi belirlediginiz kurala gore siralamak
istiyorsunuz.Buna sebep PHP'nin hazir siralama fonksiyonlarinin yetersizligi
olabilir.

Cozum : usort () fonksiyonu, kullanici tanimli bir fonksiyona gore bir diziyi
siralayabilir.

Ornek :

PHP:

  1.   
  2.  <?php 
  3.   
  4.  function borcu_sirala ($a,$b) {
  5.  if ($a[1]==$b[1]) return 0;
  6.  return ($b[1] > $a[1]) ? 1 : -1;
  7.  }
  8.   
  9.  /*
  10.   
  11.  Diyelim ki her gun poker oyunu oynadiginiz arkadaslarinizin size olan borcunu
  12.  bir dizide sakliyorsunuz ve bu diziyi en buyuk borctan en kucuge dogru siralamak
  13.  istiyorsunuz.
  14.   
  15.  */
  16.   
  17.  $poker_borclari = array(array("Oktay",31),array("Tayfun",12),array("Kris",18));
  18.   
  19.  usort ($poker_borclari,'borcu_sirala');
  20.   
  21.  foreach ($poker_borclari as $borclar) {
  22.   
  23.  print $borclar[0]." isimli kisinin bana olan borcu :".$borclar[1]; print "<br>";
  24.  } 
  25.   
  26.  ?>


Aciklama : usort () fonksiyonu argument olarak bir dizi ve kullanici tanimli bir
fonksiyonun ismini alir.Ilk argumentte aldigi diziyi,ikinci argumentte yer alan
fonksiyona gore siralar.Bu kullanici tanimli fonksiyon mutlaka "-1,0 veya 1"
sonuclarindan birini dondurmelidir.

PHP'nin yapisal siralama fonksiyonlari "dizilerin dizilerini" siralayamazlar.

Bu ozellik PHP4'e henuz eklenmemistir.

Ancak yukaridaki sekilde yapilandirilmis sizileri "usort ()" ile kendi yazdiginiz
fonksiyonlarla siralayabilirsiniz.

Ornek Dosyalar

http://www.turk-php.com/ornekler/usort_ornegi.php

http://www.turk-php.com/ornekler/usort_ornegi.phps

Kaynak : ISBN 0-672-31924-1

Serkan Hadi Ceylani
serkan@turk-php.com

Program: http://www.turk-php.com/ornekler/usort_ornegi.php

Bu makale hakkında ek bilgi eklemek için buraya tıklayınız

Bu makalenin yazar yada kaynağını bildirmek için tıklayınız.

Digg this Post! Add Post to del.icio.us Bookmark Post in Technorati Furl this Post!
Eklenme tarihi: 3-2-2006  Okunma: 935

Bu Makaleye Verilen Puan:    Bu makaleye puan verilmemiş.
Bu Makaleye Puan Ver  

Bölüm Başlık Kullanıcı Yorumları


Bu makaleye yorum gönderilmemiş, ilk yorumu sen gönder !
Reklam Netinternet
Bazı hakları saklıdır: İçeriğin editör ve yazarlarımız tarafından oluşturulan kısımları ve site tasarımının hakkı saklıdır.  Bu sayfa en iyi 1280x1024 ve 1024x768 çözünürlükte izlenir.
Powered by BilgiPortal v2.2
Emlak Yorumlar Müzik estetik