Randi () kasutamine
Seda funktsiooni kasutatakse juhusliku täisarvu genereerimiseks. Selle funktsiooni süntaks on toodud allpool.
Süntaks:
int rand ()või
int rand (int min, int max)Kui funktsioonis ei kasutata parameetrit, tagastatakse suur juhuslik täisarv. Kui selles funktsioonis on ette nähtud kaks argumendi väärtust, tagastab see argumendi väärtuste põhjal juhusliku täisarvu. Selle funktsiooni kasutamist näidatakse allpool.
Näide 1: funktsiooni rand () erinevad kasutusalad
Järgmine näide näitab kolme erinevat kasutusviisi rand () funktsioon juhusliku arvu genereerimiseks. Alguses oli rand () Funktsiooni kutsutakse kaks korda ilma argumentideta, et näidata, kuidas juhuslikud arvud vaikimisi genereeritakse. Järgmisena nimetatakse seda kaks korda kahe erineva minimaalse ja maksimaalse väärtusega. Lõpuks kutsutakse seda bitipõhise operaatoriga kaks korda.
// Funktsiooni rand () kasutamine ilma argumentidetakaja "
Juhuslik arv, kasutades rand () ilma argumentita:
";kaja "
Esimene juhuslik arv: ". rand (). "
";kaja "
Teine juhuslik arv: ". rand (). "
";// Funktsiooni rand () kasutamine argumentidega
kaja "
Juhuslik arv, kasutades rand (), määratledes argumendid:
";kaja "
Esimene juhuslik arv vahemikus [10-100]: ". rand (10 100). "
";kaja "
Teine juhuslik arv vahemikus [100–500]: ". rand (100 500). "
";// Funktsiooni rand () kasutamine bitioperaatoriga
kaja "
Juhuslik arv, kasutades rand () ja bitipõhist operaatorit:
";kaja "Esimene juhuslik arv, kasutades bitipõhist operaatorit (&) 10-ga:";
kaja rand () & 10;
kaja "
Teine juhuslik arv, kasutades bitipõhist operaatorit (&) 50-ga: ";
kaja rand () & 50;
?>
Väljund:
Sarnane väljund ilmub pärast skripti käivitamist serverist. Esimene väljund näitab kahte erinevat suurt arvu. Teises väljundis on esimene juhuslik arv genereeritud vahemikus 10 kuni 100 ja teine juhuslik arv on loodud vahemikus 100 kuni 500. Kolmandas väljundis on esimene juhuslik arv genereeritud vahemikus 0 kuni 10 ja teine juhuslik arv on vahemikus 0 kuni 50.
Random_int () kasutamine
Seda funktsiooni kasutatakse krüptograafiliselt pseudoturvalise juhusliku arvu genereerimiseks. Süsteemikõne funktsioon juhuslik (2) kasutatakse Ubuntus krüptograafilise juhusliku arvu genereerimiseks. See funktsioon on turvalisem kui rand () funktsiooni, sest genereeritud arv ei ole ennustatav. Aga juhuslik_int () on aeglasem kui rand () funktsioon. Selle funktsiooni süntaks on toodud allpool.
Süntaks:
int juhuslik_int (int min, int max)Krüptograafilise juhusliku arvu genereerimise vahemiku määramiseks kasutatakse funktsioonis kahte argumenti. Esimest argumenti kasutatakse madalaima väärtuse määramiseks ja teist argumenti numbri suurima väärtuse määramiseks. Selle funktsiooni kasutamist näidatakse allpool.
Näide 2: Funktsiooni random_int () erinevad kasutusalad
Järgmine näide näitab juhuslik_int () funktsioon juhusliku arvu genereerimiseks, pakkudes minimaalseid ja maksimaalseid väärtusi. Need väärtused võivad olla täisarv või ujuv arv, kuid miinimum ei tohi olla suurem kui maksimaalne väärtus. Esimesel juhuslik_int () Funktsiooni korral kasutatakse positiivse täisarvu numbreid minimaalse ja maksimaalse väärtusena. Teises juhuslik_int () Funktsiooni puhul kasutatakse negatiivse täisarvu minimaalselt ja positiivse täisarvu maksimaalse väärtusena. Kolmandas juhuslik_int () Funktsiooni puhul kasutatakse minimaal- ja maksimumväärtustena ujuvaid numbreid.
// Määrake positiivsed min ja positiivsed max väärtusedkaja "
Juhusliku_int () väljund positiivsete min ja max väärtustega: " .juhuslik_int (1000, 10000). "
";// Määrake negatiivsed min ja positiivsed max väärtused
kaja "
Juhusliku_int () väljund negatiivsete min ja positiivsete max väärtustega: " .juhuslik_int (-500, 10000). "
";// Määrake murdarvude min ja max väärtused
kaja "
Random_int () väljund murdarvude min ja max väärtustega: " .juhuslik_int (0.67, 54.89). "
";?>
Väljund:
Järgmine sarnane väljund ilmub pärast skripti käivitamist serverist.
Mt_rand () kasutamine
Seda funktsiooni kasutatakse kvaliteetsete pseudojuhuslike arvude genereerimiseks, kasutades Mersenne Twister generaator. See töötab kiiremini kui rand () funktsioon. Selle funktsiooni süntaks on toodud allpool.
Süntaks:
int mt_rand (int min, int max)Nagu rand () Funktsiooni max ja min väärtuste määramiseks võib kuluda kaks argumenti ning seda funktsiooni saab kasutada ka ilma argumentideta. Selle funktsiooni kasutamist näidatakse allpool.
Näide 3: funktsiooni mt_rand () erinevad kasutusalad
Järgmine näide näitab mt_rand () funktsioon koos argumentidega ja ilma. Esimene mt_rand () funktsiooni kutsutakse ilma ühegi argumendita, mis genereerib suure täisarvu. Teine mt_rand () funktsiooni kutsutakse minimaalse ja maksimaalse väärtusega, mis genereerib arvu määratletud vahemikus.
// Funktsiooni mt_rand () kasutamine ilma argumentidetakaja "
Loodud juhuslik arv, kasutades argumenti mt_rand ():
";kaja "
". mt_rand (). "
";// Funktsiooni mt_rand () kasutamine koos argumentidega
kaja "
Loodud juhuslik arv, kasutades mt_rand (), määratledes argumendid:
";kaja "
". mt_rand (15,150). "
";?>
Väljund:
Järgmine sarnane väljund genereeritakse pärast skripti käivitamist serverist. Esimene väljund näitab, et kui arvus argumenti ei kasutata, on loodud suur täisarv mt_rand () funktsioon. Teine väljund näitab, et on loodud arv vahemikus 15 kuni 150.
Järeldus
Selles õpetuses on lihtsate näidete abil selgitatud kolme erinevat viisi juhusliku arvu genereerimiseks PHP-s. Parem on kasutada juhuslik_int () funktsioon, kui turvalisus on oluline, kuid parem on kasutada mt_rand () funktsioon, kui see on vajalik juhusliku arvu kiiremaks genereerimiseks. rand () funktsiooni saab kasutada lihtsa juhusliku arvu genereerimiseks.