Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    393

    chiave casuale ma ponderatamente casuale

    Uso questa funzione

    srand((float) microtime() * 10000000);
    $chiavi = array_rand($rarray, 2);

    per ricavarmi due chiavi casuali all'interno di un array


    C'è un modo per ottenere che la chiave '1' esca che ne so il 25% delle volte, la '2' il 20% e così via? Cioè in sostanza si può indirizzare in qualche modo la pescata da un array pur mantenendola casuale?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Secondo me popolando l'array iniziale il modo tale di avere le probabilità che vuoi:

    Caso normale :
    $rarray = array("a","b","c","d","e","f","g","h","i","j");
    Probabilità di ogni elemento : 10%

    Caso modificato :
    $rarray = array("a","a","a","a","b","b","c","d","e","f","g", "h","i","j");
    Li "a" ha più chance di uscire.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    393
    sì, ma così ci sarebbe la controindicazione che potrebbe prendere due volte su due la A, e la cosa non può essere...

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Poi dipende da quello che vuoi fare. Immagino che se vuoi ricavare un indice di un array è per sfruttare i valori di quell'array. Quindi l'indice ricavato dovrebbe essere irrelevante.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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 © 2025 vBulletin Solutions, Inc. All rights reserved.