• 28-10-2010, 07:20:32
    #1
    <?
    $sayilar= array('ali','veli','kirk','dokuz','elli');
    shuffle($sayilar);
    $sayi= $sayi[0];
    
    echo $sayi;
    ?>
    Bu şekilde alınca sayfa her çalıştığında kelimelerden birini rastgele yazıyor.

    Benim istediğim sırasıyla yazdırması yani ilk çalıştırdığımda ali sonrasında veli , kirk , dokuz ve elli şeklinde sırasyıla yazdırması.

    Bunu en kolay nasıl yapabilirim? SQL kullanmak istemiyorum, bu şekilde yapmanın kolay bir yolu varmı ?
  • 28-10-2010, 07:30:13
    #2
    <?
    $sayilar= array('ali','veli','kirk','dokuz','elli');
    
    print_r($sayilar);
    
    ?>
  • 28-10-2010, 08:32:37
    #3
    Çıktısı ;

    Alıntı
    Array ( [0] => ali [1] => veli [2] => kirk [3] => dokuz [4] => elli )
    Bu şekilde oluyor bunu soyleidğim gibi nasıl kullanırım? Hepsini yazdırmak istemiyorum ben, tek tek ama sırasıyla yazdırmak istiyorum.

    Sayfayı her yenilediğimde array dan 1 tanesi gelicek ama array da yazdığım sırayla gelicek.

    SQL kullanmak istemiyorum dediğim gibi ama bi txt dosyası kullanabilirim eğer bu şekiğlde cozebiliceksem sorunu?
  • 28-10-2010, 10:48:43
    #4
    <?php
    session_start();
    
    $sayilar = array(0, 1, 2, 3, 4);
    
    if(empty($_SESSION['sayi']) || $_SESSION['sayi'] > (count($sayilar) - 1))
       $_SESSION['sayi'] = 0;
    
    echo $sayilar[$_SESSION['sayi']];
    
    ++$_SESSION['sayi'];
    
    ?>
    Her çalıştırışınızda dizideki ilk elemandan başlayarak sona kadar gider, sonra tekrar başa döner. Denemedim, çalışmama ihtimali var.
  • 28-10-2010, 11:17:48
    #5
    <? start_session();
    
    
    $sayilar= array('ali','veli','kirk','dokuz','elli'); 
    $kelime_sayisi = count($sayilar);
    $eksi_bir = $kelime_sayisi - 1;
    
    if(!isset($_SESSION['numara'])){
    
    $_SESSION['numara'] = 0;
    
    echo $sayilar[$_SESSION[numara]];
    }
    else if ($_SESSION['numara'] != $eksi_bir) {
    //eger bu durumda 4 e esit degil ise 
    
    $_SESSION['numara'] = $_SESSION['numara'] +1 ;
    
    
    echo  $sayilar[$_SESSION[numara]];
    
    
    
    }
    else {
    // 4 e kadar yukarida gosterildi eger $_SESSION['numara'] = 5 ise
    // arraydeki sayidan yukari cikmamak icin yani 0 inci key i gostermek icin
    
    $_SESSION['numara'] = 0;
    echo $sayilar[$_SESSION[numara]];
    }
    daha basit te yazilabilir mantigi anlamaniz icin uzattim. kolay gelsin.
  • 28-10-2010, 11:48:06
    #6
    ScR
    Üyeliği durduruldu
    <?php
    
    $array = array("ali","veli","49","50");
    
    $total = count($array) - 1; // Array değeri sıfırdan başlar. O yüzden 1 tane çıkartıyorum.
    $random = rand(0,$total); // rastgele bir sayı seçtiriyorum.
    $rastgele = $array[$random]; // seçtiği rastgele sayıya göre Array'dan bir eleman çağırdım.
    
    echo $rastgele;
    
    foreach($array as $var){
    
    echo $var ."<br>";
    
    }
    
    ?>