Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Come generare numeri random diversi?


    Salve a tutti, ho un aiuto da chiedervi:
    come posso fare a generare dei numeri random diversi (compresi tra un range 1 e una variabile definita?
    Ho fatto uno script (grazie all'aiuto di Eyescream per la prima parte del codice) che mi genera gli otto numeri random richiesti, prendendoli da un catalogo contenuto in un file di testo ed il cui ultimo numero è definito dall'ultimo record inserito che mi funzionabene , SOLO CHE MI ESCONO ANCHE NUMERI UGUALI, come posso evitarlo?

    Il codice è:
    php
    $dati=file("/home/sito/miosito.com/cartella/data_files/data.file");
    $ultimo=count($dati)-1;
    $boom=explode("|",$dati[$ultimo]);
    $boom[0];
    $ultimorecord = $boom[0];

    srand((double)microtime()*1000000);
    $random_number1 = rand(1,$ultimorecord);

    srand((double)microtime()*1000000);
    $random_number2 = rand(1,$ultimorecord);

    srand((double)microtime()*1000000);
    $random_number3 = rand(1,$ultimorecord);

    srand((double)microtime()*1000000);
    $random_number4 = rand(1,$ultimorecord);

    srand((double)microtime()*1000000);
    $random_number5 = rand(1,$ultimorecord);

    srand((double)microtime()*1000000);
    $random_number6 = rand(1,$ultimorecord);

    srand((double)microtime()*1000000);
    $random_number7 = rand(1,$ultimorecord);

    srand((double)microtime()*1000000);
    $random_number8 = rand(1,$ultimorecord);


    Se mi metto io a pasticciare con if ed else (non è che cicapisca poi tanto), posso scrivere un codice lungo come l'enciclopedia Treccani.

    Avete una soluzione semplice, modificando il codice sopra?

    Grazie
    pcamplese "Billydog"

    *************************
    ) Credevo di essere io fuori di testa o pazzo, ma quando ho visto gli iscritti a questo forum, mi sono ricreduto!

  2. #2
    http://it2.php.net/manual/en/function.shuffle.php

    metti tutto in un array e usa shuffle, poi tiri fuori con un foreach

  3. #3
    :master:
    E' una parola. Per scivere quelle due riche ci ho messo due giorni. Ho iniziato con php da una settimana e al momento so solo cosa significa il termine

    Non potete aiutarmi?
    pcamplese "Billydog"

    *************************
    ) Credevo di essere io fuori di testa o pazzo, ma quando ho visto gli iscritti a questo forum, mi sono ricreduto!

  4. #4
    Codice PHP:
    $dati=file("/home/sito/miosito.com/cartella/data_files/data.file"); 
    $ultimo=count($dati)-1
    $boom=explode("|",$dati[$ultimo]); 
    $boom[0]; 
    $ultimorecord $boom[0];
    //
    $random_number=array();
    while(
    count($random_number)!=8) {
    srand((double)microtime()*1000000); 
    $nuovo_valore=rand(1,$ultimorecord);
    //l'if ci evita di inserire valori simili
    if (!in_array($nuovo_valore$random_number)) {
    $random_number[]=$nuovo_valore;
      }

    // per tirare fuori i valori basta fare cosi:
    echo $random_number[3];
    // ricordandoci che la numerazione dell'array
    // parte da zero e non da 1
    // quindi non i numeri da 1 a 8 ma da 0 a 7 
    Planet Earth is blue and there's nothing I can do

  5. #5


    Non mi funziona, mi genera parse error su questa riga

    while(count($random_number)!=8)_{

    Forse c'e' un problema con le parentesi graffe, se la sposto una riga sotto l'errore continua li
    pcamplese "Billydog"

    *************************
    ) Credevo di essere io fuori di testa o pazzo, ma quando ho visto gli iscritti a questo forum, mi sono ricreduto!

  6. #6
    while(count($random_number)!=8)[_{

    ho ancora il sonno allora non ho controllato tutto lo scritp....ma il codice hai scritto cosi? non devi mettere li underscore!
    il tesoro più prezioso è la mia libertà

  7. #7
    visto dormo ancora ho sbagliato anche scrivere il codice
    codice:
    while(count($random_number)!=8) {
    avevo aggiunto un [ che non serve
    il tesoro più prezioso è la mia libertà

  8. #8
    No , non c'e' l'underscore, la riga è
    while(count($random_number)!=8) {
    pcamplese "Billydog"

    *************************
    ) Credevo di essere io fuori di testa o pazzo, ma quando ho visto gli iscritti a questo forum, mi sono ricreduto!

  9. #9
    lo script l'avevo testato anke prima di postarlo ce l'ho davanti e non mi da problemi...sei sicuro di averlo trascritto correttamente?
    Planet Earth is blue and there's nothing I can do

  10. #10
    tra l'altro ho ritestato lo script con il codice che mi hai mandato in pvt (ovviamente creandomi da me un array con degli interi per ottenere un volore di $ultimorecord) e funziona lo stesso correttamente...
    sulla riga dove ti restituisce l'errore le parentesi sono sintatticamente corrette....guarda invece la riga sopra quella ci sono il punto e virgola alla fine?
    Planet Earth is blue and there's nothing I can do

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.