• 08-10-2018, 22:06:35
    #1
    HB7
    Üyeliği durduruldu
    Merhabalar,

    Kendi kullanıdğım kodumda iyileştirme yapmak istiyorum. Sozler.txt doyasından belirlediğim rakamlar kadar satır ve kelime ekliyorum. Ama her satıra belirlediğim bi kelimenin random olarak satırın herhangi bi yerine eklenmesini istiyorum. Yardımcı olabilecek birisi var mı?

    Örnek olarak istediğim çıktı

    ahmet $değer mehmet kemal ali
    murat hasan $değer kerem

    <?php
    $a=file_get_contents("sozler.txt");
    $b=explode(" ",$a);
    $dizi=array();
    $kelime_sayisi=rand(4, 10);;
    $kullanilmis=array();
    $satir_sayisi=100;
    foreach($b as $c){
    if(trim($c)=="")continue;
    if(in_array(trim($c),$dizi))continue;
    $dizi[]=trim($c);
    }
     
    $liste=array();
     
    for($i=1;$i<=$satir_sayisi;$i++){
    $secildi=array();
    for($j=1;$j<=$kelime_sayisi;$j++){
    $sayi=rand(0,count($dizi));
     
    if(count($kullanilmis)>=count($dizi)){
    $i=$satir_sayisi;
    $j=$kelime_sayisi;
    continue;
    }
    if(in_array($dizi[$sayi],$kullanilmis)){
    $j--;
    continue;
    }
    $secildi[]=$dizi[$sayi];
    }
     
    $liste[$i]=implode(" ",$secildi);
    }
    $dosya=fopen("sonuclar.txt","w");
    fputs($dosya,implode("n",$liste));
    ?>
  • 08-10-2018, 23:43:29
    #2
    Tam sitediğin şey değilse de fikrini verir heralde. En azından daha okunaklı oldu
    <?php
    $yeni_kelime = "xxxxxxx";
    $satir_sayisi=100;
    
    $icerik = file_get_contents("sozler.txt");
    $kelimeler = explode(" ", preg_replace("/".PHP_EOL."/", " ",$icerik));
    shuffle($kelimeler);
    
    $satirlar = "";
    
    for($i = 0; $i < $satir_sayisi; $i++){
    	if($kelimeler){
    		$kelime_sayisi=rand(4, 10);
    		$satir = array_splice($kelimeler, 0, $kelime_sayisi);
    		array_push($satir, $yeni_kelime);
    		shuffle($satir);
    		$satirlar .= implode(" ", $satir)."\n"; 
    	}else{
    		break;
    	}
    }
    
    $dosya=fopen("sonuclar.txt","w");
    fputs($dosya, $satirlar);
    ?>
  • 09-10-2018, 09:38:09
    #3
    HB7
    Üyeliği durduruldu
    Met adlı üyeden alıntı: mesajı görüntüle
    Tam sitediğin şey değilse de fikrini verir heralde. En azından daha okunaklı oldu
    <?php
    $yeni_kelime = "xxxxxxx";
    $satir_sayisi=100;
    
    $icerik = file_get_contents("sozler.txt");
    $kelimeler = explode(" ", preg_replace("/".PHP_EOL."/", " ",$icerik));
    shuffle($kelimeler);
    
    $satirlar = "";
    
    for($i = 0; $i < $satir_sayisi; $i++){
        if($kelimeler){
            $kelime_sayisi=rand(4, 10);
            $satir = array_splice($kelimeler, 0, $kelime_sayisi);
            array_push($satir, $yeni_kelime);
            shuffle($satir);
            $satirlar .= implode(" ", $satir)."n";
        }else{
            break;
        }
    }
    
    $dosya=fopen("sonuclar.txt","w");
    fputs($dosya, $satirlar);
    ?>
    Çok sağolun hocam fazlasıyla işime yaradı