Randa () izmantošana
Šo funkciju izmanto nejauša vesela skaitļa ģenerēšanai. Šīs funkcijas sintakse ir dota tālāk.
Sintakse:
int rand ()vai
int rand (int min, int max)Tas atgriež lielu nejaušu veselu skaitli, ja funkcijā netiek izmantots neviens parametrs. Ja šajā funkcijā ir norādītas divas argumentu vērtības, tā atgriezīs nejaušu vesela skaitļa skaitli, pamatojoties uz argumentu vērtībām. Šīs funkcijas izmantošana ir parādīta zemāk.
1. piemērs: Rand () funkcijas dažādi izmantošanas veidi
Šajā piemērā parādīti trīs dažādi lietojuma veidi rand () funkcija, lai ģenerētu nejaušu skaitli. Sākumā rand () Funkcija tiek izsaukta divas reizes bez argumentiem, lai parādītu, kā pēc noklusējuma tiek ģenerēti nejauši skaitļi. Tālāk to sauc divas reizes ar divām atšķirīgām minimālajām un maksimālajām vērtībām. Beidzot tas tiek izsaukts divas reizes ar bitu ātruma operatoru.
// Funkcijas rand () izmantošana bez argumentaatbalss "
Gadījuma skaitlis, izmantojot rand () bez argumenta:
";atbalss "
Pirmais nejaušais skaitlis: ". rand (). "
";atbalss "
Otrais nejaušais skaitlis: ". rand (). "
";// Funkcijas rand () izmantošana ar argumentiem
atbalss "
Nejaušais skaitlis, izmantojot rand (), definējot argumentus:
";atbalss "
Pirmais nejaušais skaitlis diapazonā [10-100]: ". rands (10 100). "
";atbalss "
Otrais nejaušais skaitlis diapazonā [100–500]: ". rands (100 500). "
";// Funkcijas rand () izmantošana ar operatoru bitwise
atbalss "
Nejaušais skaitlis, izmantojot rand (), izmantojot bitu bitu:
";atbalss "Pirmais nejaušais skaitlis, izmantojot bitu bitu operatoru (&) ar 10:";
atbalss rands () & 10;
atbalss "
Otrais nejaušais skaitlis, izmantojot bitu bitu operatoru (&) ar 50: ";
atbalss rands () & 50;
?>
Izeja:
Līdzīga izeja parādīsies pēc skripta palaišanas no servera. Pirmajā izvadā redzami divi dažādi lieli skaitļi. Otrajā izvadā pirmais nejaušais skaitlis ir ģenerēts diapazonā no 10 līdz 100, un otrais nejaušais skaitlis ir ģenerēts diapazonā no 100 līdz 500. Trešajā izvadā pirmais nejaušais skaitlis ir ģenerēts diapazonā no 0 līdz 10, un otrais nejaušais skaitlis ir radīts diapazonā no 0 līdz 50.
Random_int () izmantošana
Šo funkciju izmanto, lai ģenerētu kriptogrāfiski drošu nejaušu skaitli. Sistēmas zvana funkcija nejaušība (2) tiek izmantots Ubuntu, lai ģenerētu kriptogrāfijas izlases numuru. Šī funkcija ir drošāka nekā rand () funkcija, jo ģenerētais skaitlis nav paredzams. Bet random_int () ir lēnāks nekā rand () funkciju. Šīs funkcijas sintakse ir dota tālāk.
Sintakse:
int random_int (int min, int max)Funkcijā tiek izmantoti divi argumenti, lai iestatītu kriptogrāfiska nejauša skaitļa ģenerēšanas diapazonu. Pirmais arguments tiek izmantots, lai iestatītu zemāko vērtību, un otrais arguments tiek izmantots, lai iestatītu skaitļa augstāko vērtību. Šīs funkcijas izmantošana ir parādīta zemāk.
2. piemērs: Funkcijas random_int () dažādi lietojumi
Šajā piemērā parādīta random_int () funkcija ģenerēt nejaušu skaitli, norādot minimālās un maksimālās vērtības. Šīs vērtības var būt vesels skaitlis vai peldošs skaitlis, bet minimums nevar būt lielāks par maksimālo vērtību. Pirmajā random_int () Funkcija pozitīvie skaitļi tiek izmantoti kā minimālās un maksimālās vērtības. Otrajā random_int () funkcija, negatīvs vesels skaitlis tiek izmantots kā minimums, un pozitīvs vesels skaitlis tiek izmantots kā maksimālā vērtība. Trešajā random_int () funkcija, peldošie skaitļi tiek izmantoti kā minimālās un maksimālās vērtības.
// Iestatiet pozitīvās min un pozitīvās max vērtībasatbalss "
Random_int () izeja ar pozitīvām min un max vērtībām: " .random_int (1000, 10000). "
";// Iestatiet negatīvās min un pozitīvās max vērtības
atbalss "
Random_int () izeja ar negatīvām min un pozitīvām max vērtībām: " .random_int (-500, 10000). "
";// Iestatiet frakcionētās min un max vērtības
atbalss "
Random_int () izeja ar daļējām min un max vērtībām: " .random_int (0.67., 54. lpp.89). "
";?>
Izeja:
Pēc skripta palaišanas no servera parādīsies šāda līdzīga izeja.
Mt_rand () izmantošana
Šo funkciju izmanto, lai izveidotu augstas kvalitātes pseido-nejaušus skaitļus, izmantojot Mersenne Twister ģenerators. Tas darbojas ātrāk nekā rand () funkciju. Šīs funkcijas sintakse ir dota tālāk.
Sintakse:
int mt_rand (int min, int max)Kā rand () Lai iestatītu max un min vērtības, var būt nepieciešami divi argumenti, un šo funkciju var izmantot arī bez jebkādiem argumentiem. Šīs funkcijas izmantošana ir parādīta zemāk.
3. piemērs: Funkcijas mt_rand () dažādi lietojumi
Šajā piemērā parādīts mt_rand () darbojas ar argumentiem un bez tiem. Pirmais mt_rand () funkcija tiek izsaukta bez argumentiem, kas ģenerēs lielu veselu skaitli. Otrais mt_rand () funkcija tiek izsaukta ar minimālo un maksimālo vērtību, kas ģenerēs skaitli noteiktajā diapazonā.
// Funkcijas mt_rand () izmantošana bez argumentaatbalss "
Ģenerētais nejaušais skaitlis, izmantojot argumentu mt_rand ():
";atbalss "
". mt_rand (). "
";// Funkcijas mt_rand () izmantošana ar argumentiem
atbalss "
Ģenerētais nejaušais skaitlis, izmantojot mt_rand (), definējot argumentus:
";atbalss "
". mt_rand (15,150). "
";?>
Izeja:
Pēc skripta palaišanas no servera tiks ģenerēta šāda līdzīga izeja. Pirmais izvads parāda, ka ir izveidots liels vesels skaitlis, ja failā netiek izmantots neviens arguments mt_rand () funkciju. Otrā izeja parāda, ka ir izveidots skaitlis diapazonā no 15 līdz 150.
Secinājums
Šajā apmācībā, izmantojot vienkāršus piemērus, ir izskaidroti trīs dažādi veidi, kā ģenerēt nejaušu skaitli PHP. Labāk ir izmantot random_int () funkcija, kad drošība ir svarīga, bet labāk ir izmantot mt_rand () funkcija, kad ir nepieciešams ģenerēt nejaušu skaitli ātrāk. rand () funkciju var izmantot vienkārša nejauša skaitļa ģenerēšanai.