• 11-03-2014, 23:24:54
    #1
    Üyeliği durduruldu
    Merhaba

    Elimde txt dosyası var isim soyad şeklinde. Ben ismin baş harfine değilde soyadın baş harfine bakarak sıralama yapmasını istiyorum nasıl yaparım ? Aciliyetle lazım yardımcı olabilirmisiniz .
  • 12-03-2014, 00:41:24
    #2
    Öncelikle txt dosyasından veritabanı gibi sorgu ile istediklerinizi çekemezsiniz. Bütün txt dosyasını çekip, soy ismin baş harfine göre sıralama yaparak yeni txt dosyasına kayıt edebilirsiniz. Aynı dosya üzerine kayıt tavsiye etmiyorum ilk hatada dosyanızdan olursunuz.


    Yapmanız gereken tek şey dosya isimlerini ayarlamak.

    <?php
    //soy isimleri ayrı bir diziye al
    function soyad_al($isim){
    	global	$soyisimler;
    	$soyisimler[]	= strrchr($isim, " ");
    	
    	return $soyisimler;
    }
    
    
    $dosya1 = 'isimler.txt';
    $dosya2 = 'siraliisimler.txt';
    
    // isimleri array içine al
    $isimler	= file($dosya1);
    
    // tüm diziye fonksiyonu uygula
    array_map("soyad_al",$isimler);
    
    // eski diziyi soyisimlere göre sırala
    array_multisort($soyisimler, $isimler);
    
    // yeni dosyayı aç ve yaz
    $ac = fopen($dosya2, "wb");
    
    foreach($isimler as $yeni_isim){
    	fwrite($ac,$yeni_isim);
    }
    
    fclose($ac);
    
    ?>