Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 32

Discussione: Lettere random

  1. #1
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Exclamation Lettere random

    Dovrei creare un sistema che mi dia 8 lettere random prese da un elenco creato da me, ho provato in vari modi, ora chiedo il vostro aiuto. Idee?

  2. #2
    Guest

    Predefinito

    Citazione Originalmente inviato da mythologia
    Dovrei creare un sistema che mi dia 8 lettere random prese da un elenco creato da me, ho provato in vari modi, ora chiedo il vostro aiuto. Idee?
    Hai provato a fare un vettore con le lettere che ti servono e poi fare il random di un numero che va da 0 alla lunghezza del vettore?
    Poi ti basta prendere l'elemento presente in quella posizione del vettore

  3. #3
    Guest

    Predefinito

    Metti le lettere che vuoi dentro un array, e poi usi array_rand per estrarne a caso.


    Ciaooooo!!!!!!!

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da debug
    Metti le lettere che vuoi dentro un array, e poi usi array_rand per estrarne a caso.


    Ciaooooo!!!!!!!
    Esiste una funzione che estrae automaticamente una posizione random di un vettore??? Interessante....

  5. #5
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    ecco l'errore, io le avevo messe in un array, ma non avevo usato array_rand.
    Debug? Ma in array_rand() che valore devo inserire tra le parentesi?

  6. #6
    Guest

    Predefinito

    wider: perchè magari gli serve in php???


    Ciaoo!!
    Ultima modifica di debug : 19-03-2005 alle ore 18.09.20

  7. #7
    Guest

    Predefinito

    AZZ tutti insieme!
    Allora mitho:

    array_rand($tuoarray);

    e ti estrae un elemento a caso.
    Poi se vuoi che tale elemento sia tolto dall'array è un altro paio di maniche...


    Ciaooo!!!

  8. #8
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    js lo avevo provato, ma è meglio con php :grin:

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da wider
    Si può fare anche in javascript... xkè scomodare php?
    Livello 3 ti dice niente con php?
    Se avrà postato qui ci sarà un motivo... sennò postava all'1... :winkOLD:

    E poi php è molto più comodo di javascript

  10. #10
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    si, ma come faccio a farne estrarre solo 8??
    L'array lo avevo pensato, ma non conoscevo array_rand()

  11. #11
    Guest

    Predefinito

    Cicla:

    for (i=0; i<=7; i++)

  12. #12
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    giusto, l'avevo fatto già con rand, ma senza array_
    con altre cose, mi ero dimenticato :D

  13. #13
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

  14. #14
    Guest

    Predefinito

    Intendi che magari nell'array ne hai di più?

    Allora fai così:

    $mioarray=array("a","b","c");
    $lunghezza=count($mioarray);
    for($i=0;$i<$lunghezza;$i++){
    $nrand=rand(0,count($mioarray));
    echo "Lettera estratta: ".$mioarray[$nrand]."<br>\n";
    array_splice($mioarray,$nrand,1);
    }

    dovrebbe fungere (l'ho scritto di botto)


    Ciaooooo!!!!!!!!!

  15. #15
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    no
    io creo un array
    $mioarray=array("a","b","c","d","e","f","g","h");
    for($i=1;$i<8;$i++){
    echo array_rand($mioarray);
    }

  16. #16
    Guest

    Predefinito

    Citazione Originalmente inviato da mythologia
    no
    io creo un array
    $mioarray=array("a","b","c","d","e","f","g","h");
    for($i=1;$i<8;$i++){
    echo array_rand($mioarray);
    }
    Uhm... i vettori partono da 0 se non sbaglio.... :winkOLD:

  17. #17
    Guest

    Predefinito

    Mytho ma in quel modo è probabile che ti estrai lettere uguali anche consecutivamente!


    Ciaooo!!!!!

  18. #18
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    si, ma le lettere nell'array saranno 42, quindi...

  19. #19
    Guest

    Predefinito

    Quindi che? :D
    Quidi la probabilità rimane, anche se fossero dieci milioni! ;)

    Cmq se a te serve così allora avevo capito male io! ;)


    Ciaoooooo!!!!!!!

  20. #20
    Guest

    Predefinito

    vabbè se vuole evitare ripetizioni di lettere basta fare

    Codice PHP:
    $mioarray=array("a","b","c","d","e","f","g","h");
    $output=array();

    for(
    $i=0;count($output)<8;$i++)
    {
    $temp=array_rand($mioarray);
    if (!
    in_array($temp,$output))
    $output[]=$temp;
    }
    e nell'array output si sitrova la sequenza delle 8 lettere

    mavericck
    Ultima modifica di mavericckweb : 19-03-2005 alle ore 21.32.47

  21. #21
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    no, va bene anche se le lettere si ripetono

  22. #22
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    problema:
    Invece di stamparmi le lettere con questo metodo mi stampa il numero corrispondente alla lettera.
    Se nell'array t è la 15 lettera, stampa 15
    allora dovrei fare un if($a == 15){$b="a";}, ma sarebbe troppo lungo per tutte le lettere, soluzione??

  23. #23
    Guest

    Predefinito

    Citazione Originalmente inviato da mythologia
    problema:
    Invece di stamparmi le lettere con questo metodo mi stampa il numero corrispondente alla lettera.
    Se nell'array t è la 15 lettera, stampa 15
    allora dovrei fare un if($a == 15){$b="a";}, ma sarebbe troppo lungo per tutte le lettere, soluzione??
    Penso che la soluzione sia questa (presa da php.net):

    Codice PHP:
    <?
    srand
    ((float) microtime() * 10000000);
    $input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
    $chiavi = array_rand($input, 2);
    echo
    $input[$chiavi[0]] . "\n";
    echo
    $input[$chiavi[1]] . "\n";
    ?>

  24. #24
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    srand((float) microtime() * 10000000);
    a che serve??

    array_rand($input, 2);
    ovvero me ne estrae 2???

  25. #25
    Guest

    Predefinito

    Citazione Originalmente inviato da mythologia
    srand((float) microtime() * 10000000);
    a che serve??
    se non sbaglio serve a inizializzare il random in base al tempo (se è uguale al c dovrebbe essere così...)

    Citazione Originalmente inviato da mythologia
    array_rand($input, 2);
    ovvero me ne estrae 2???
    si, nel tuo caso metti array_rand($input, 8);

  26. #26
    Guest

    Predefinito

    Citazione Originalmente inviato da mystico
    Penso che la soluzione sia questa (presa da php.net):

    Codice PHP:
    <?
    srand
    ((float) microtime() * 10000000);
    $input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
    $chiavi = array_rand($input, 2);
    echo
    $input[$chiavi[0]] . "\n";
    echo
    $input[$chiavi[1]] . "\n";
    ?>
    l'esempio riportato sul manuale di php spiega l'uso di array_rand con il secondo parametro dichiarato, cioè l'estrazione di più chiavi contemporaneamente, che vengono messe in un array (per questo usa echo $input[$chiavi[0]])

    penso che invece per risolvere il problema di mytologia basti fare

    echo $mioarray["$ris"];

    dove mioarray è il vettore di tutte le lettere e ris il risultato della funzione array_rand

    ma può anche essere che io non abbia capito esattamente qual è il problema
    se è così, fate come se non abbia detto niente

    mavericck

  27. #27
    Guest

    Predefinito

    Se non ricordo male gli servivano 8 lettere e al posto di fare un ciclo (che forse è più pesante) è meglio qesta funzione penso....

  28. #28
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    Codice PHP:
    <?
    $input
    = array("a", "b", "c", "d", "e"....);
    $chiavi = array_rand($input, 8);
    echo
    $input[$chiavi[0]].$input[$chiavi[1]] . $input[$chiavi[2]]. $input[$chiavi[3]]...
    ?>
    Quindi io farò così

  29. #29
    Guest

    Predefinito

    esatto!
    pensavo però volesse continuare ad utilizzare la procedura con il ciclo.. sorry!

  30. #30
    Guest

    Predefinito

    Beh, per l'echo forse conviene un ciclo...

    Codice PHP:
    for ($i=0; $i<8; $i++) echo "$input[$chiavi[$i]]";

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •