Visualizzazione risultati 1 fino 3 di 3

Discussione: [PHP]Array random

  1. #1
    Guest

    Predefinito [PHP]Array random

    Ciao a tutti, non so bene come spiegarmi il mio problema per questo vi faccio un esempio...
    Ho un array che contiene dei numeri, e devo fare di prendere solo 10 numeri in modo casuale pensavo si usare "rand()" ma il problema come posso fare di verificare se il numero già non è uscito...
    Avete qualche soluzione...

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Così su due piedi:

    Codice PHP:
    $da_estrarre[]; //array da estrarre
    $estratti[]; //array nuovo


    if(count(array_unique($da_estrarre)) > 9) //altrimenti andiamo in loop infinito eheh
    for($i=0;$i<10;)
    {
    $k = rand(0,count($da_estrarre));
    if(!
    in_array($da_estrarre[$k], $estratti))
    $estratti[$i++] = $da_estrarre[$k];
    }
    ...non ho provato se funziona, ma il metodo dovrebbe essere quello più o meno...

    Ciao!
    Ultima modifica di alemoppo : 06-08-2011 alle ore 17.48.16

  3. #3
    Guest

    Predefinito

    Il problema che certe volte invece di generare 5 risultati, ne stampa solo 4...
    Codice PHP:
    <?php
    $array3
    = array(); //array da estrarre
    $estratti = array();

    $count3 = count($array3);// lunghezza 8
    if(count(array_unique($array3)) > "4"){
    for(
    $i=0;$i<5;){
    $k = rand(1,$count3);
    if(!
    in_array($array3[$k],$estratti)){
    $estratti[$i++] = $array3[$k];
    }}}

    $count_estr = count($estratti);
    $num = (($count_estr < "5") ? $count_estr : "5");
    for(
    $i=0;$i<$num;$i++){
    echo
    $estratti[$i];
    }
    ?>
    Non capisco perché...

Regole di scrittura

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