php

Looge PHP-s juhuslik arv

Looge PHP-s juhuslik arv
Iga kord skripti käivitades erineva arvu genereerimist nimetatakse juhuslikuks numbriks. Juhuslikku arvu saab programmeerimisel kasutada erinevatel eesmärkidel, näiteks juhusliku failinime, juhusliku parooli ja juhusliku arvu genereerimiseks, mida teised ei saa ennustada. PHP-l on palju sisseehitatud funktsioone juhuslike arvude genereerimiseks erineval viisil. rand (), juhuslik_int (), ja mt_rand () funktsioone kasutatakse PHP-s juhuslike arvude genereerimiseks. Kuidas neid funktsioone juhuslike arvude genereerimiseks kasutatakse, selgitatakse selles õpetuses.

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 argumentideta
kaja "

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äärtused
kaja "

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 argumentideta
kaja "

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.

Lahing Wesnothi eest 1.13.6 Areng vabastati
Lahing Wesnothi eest 1.13.6 ilmus eelmisel kuul, on 1-s kuues arendusversioon.13.x-seeria ja see pakub mitmeid täiustusi, eelkõige kasutajaliidese ja ...
League of Legendsi installimine Ubuntu 14-le.04
Kui olete League of Legends fänn, siis on see teile võimalus proovida League of Legendsit. Pange tähele, et LOL-i toetab PlayOnLinux, kui olete Linuxi...
Installige uusim OpenRA strateegiamäng Ubuntu Linuxi
OpenRA on tasuta / tasuta reaalajas strateegiamängumootor, mis loob uuesti Westwoodi varased mängud nagu klassikaline Command & Conquer: Red Alert. Ja...