⚈ Kuopassa.net

Lisää kertomuksia netistä. 摆烂

PHP:n rand() ja mt_rand() tarjoavat satunnaista

Jos molemmat PHP:n palikat todella tuottavat satunnaisia numeroita, pitäisi lopputuloksen näyttää satunnaiselta. Jos rand() ja mt_rand() voivat valita numeroita väliltä yhden ja kolmen väliltä, silloinhan ykkösiä, kakkosia ja kolmosia pitäisi olla jokseenkin yhtä paljon. :-) Testasin asiaa pyöräyttämällä satunnaislukufunktiot for-silmukassa 100 001* kertaa PHP:n versiolla 5.5. ja 5.6. niin, että kumpaakin noista funktioista testattiin muutaman kerran. Viimeisen testin tulokset näkyvät alapuolella. Aina kun funktio valitsi numeron 1, se loi punaisen laatikon. Numerolla 2 se loi vihreän ja numerolla 3 sinisen laatikon.

*) Pyrin tekemään tasan satatonnia, mutta laskeskelin äsken nuo screenshoteissa mainitut värien määrät ja niiden mukaan tuli ohjelmoitua yksi ylimääräinen laatikko. Ups. Halusin aluksi tehdä miljoona laatikkoa, mutta sen määrän rouskuttaminen vaikuttaa halvaannuttavan nettiselaimen.

Funktio: rand() PHP:n versiolla 5.5.12.

Funktio: mt_rand() PHP:n versiolla 5.5.12.

Funktio: rand() PHP:n versiolla 5.6.29.

Funktio: mt_rand() PHP:n versiolla 5.6.29.

Tietoa kirjoittajasta