php

Vygenerujte náhodné číslo v PHP

Vygenerujte náhodné číslo v PHP
Generování jiného čísla pokaždé provedením skriptu se nazývá náhodné číslo. Náhodné číslo lze v programování použít pro různé účely, například pro generování náhodného názvu souboru, náhodného hesla a náhodného čísla, které není předvídatelné pro ostatní. PHP má mnoho vestavěných funkcí pro generování náhodných čísel různými způsoby. rand (), random_int (), a mt_rand () funkce se v PHP používají ke generování náhodných čísel. Jak se tyto funkce používají ke generování náhodných čísel, vysvětlíme v tomto kurzu.

Použití rand ()

Tato funkce se používá ke generování náhodného celého čísla. Syntaxe této funkce je uvedena níže.

Syntax:

int rand ()

nebo

int rand (int min, int max)

Vrátí velké náhodné celé číslo, pokud ve funkci není použit žádný parametr. Pokud jsou v této funkci k dispozici dvě hodnoty argumentů, vrátí náhodné celé číslo na základě hodnot argumentů. Použití této funkce je uvedeno níže.

Příklad 1: Různá použití funkce rand ()

Následující příklad ukazuje tři různá použití rand () funkce pro generování náhodného čísla. Zpočátku rand () funkce je volána dvakrát bez jakéhokoli argumentu, aby se ukázalo, jak jsou ve výchozím nastavení generována náhodná čísla. Dále se volá dvakrát se dvěma různými minimálními a maximálními hodnotami. Nakonec se dvakrát volá bitovým operátorem.

// Použití funkce rand () bez argumentu
ozvěna "

Náhodné číslo pomocí rand () bez argumentu:

";
ozvěna "

První náhodné číslo: ". rand (). "

";
ozvěna "

Druhé náhodné číslo: ". rand (). "

";
// Použití funkce rand () s argumenty
ozvěna "

Náhodné číslo pomocí rand () definováním argumentů:

";
ozvěna "

První náhodné číslo v rozsahu [10-100]: ". rand (10 100). "

";
ozvěna "

Druhé náhodné číslo v rozsahu [100–500]: ". rand (100 500). "

";
// Použití funkce rand () s bitovým operátorem
ozvěna "

Náhodné číslo pomocí rand () pomocí bitového operátoru:

";
echo "První náhodné číslo pomocí bitového operátoru (&) s 10:";
echo rand () & 10;
ozvěna "
Druhé náhodné číslo pomocí bitového operátoru (&) s 50: ";
echo rand () & 50;
?>

Výstup:

Podobný výstup se zobrazí po spuštění skriptu ze serveru. První výstup ukazuje dvě různá velká čísla. Ve druhém výstupu bylo první náhodné číslo vygenerováno v rozsahu 10 až 100 a druhé náhodné číslo bylo vygenerováno v rozsahu 100 až 500. Ve třetím výstupu bylo první náhodné číslo vygenerováno v rozsahu 0 až 10 a druhé náhodné číslo bylo vygenerováno v rozsahu 0 až 50.

Použití random_int ()

Tato funkce se používá ke generování kryptograficky pseudo bezpečného náhodného čísla. Funkce systémového volání getrandom (2) se v Ubuntu používá ke generování kryptografického náhodného čísla. Tato funkce je bezpečnější než rand () funkce, protože vygenerované číslo nelze předvídat. Ale random_int () je pomalejší než rand () funkce. Syntaxe této funkce je uvedena níže.

Syntax:

int random_int (int min, int max)

Ve funkci se používají dva argumenty k nastavení rozsahu pro generování kryptografického náhodného čísla. První argument se používá k nastavení nejnižší hodnoty a druhý argument se používá k nastavení nejvyšší hodnoty čísla. Použití této funkce je uvedeno níže.

Příklad 2: Různá použití funkce random_int ()

Následující příklad ukazuje použití random_int () funkce pro generování náhodného čísla zadáním minimální a maximální hodnoty. Tyto hodnoty mohou být celé číslo nebo plovoucí číslo, ale minimum nemůže být větší než maximální hodnota. Zaprvé random_int () funkce se kladná celá čísla používají jako minimální a maximální hodnota. Ve druhém random_int () funkce se záporné celé číslo použije jako minimum a kladné celé číslo se použije jako maximální hodnota. Ve třetím random_int () funkce, plovoucí čísla se používají jako minimální a maximální hodnoty.

// Nastavit kladné minimální a kladné maximální hodnoty
ozvěna "

Výstup random_int () s kladnými hodnotami min a max: " .random_int (1000, 10 000). "

";
// Nastaví záporné minimální a kladné maximální hodnoty
ozvěna "

Výstup random_int () se zápornými min a kladnými max hodnotami: " .random_int (-500, 10 000). "

";
// Nastavte zlomkové minimální a maximální hodnoty
ozvěna "

Výstup random_int () s minimálními a maximálními hodnotami zlomku: " .random_int (0.67, 54.89). "

";
?>

Výstup:
Následující podobný výstup se zobrazí po spuštění skriptu ze serveru.

Použití mt_rand ()

Tato funkce se používá ke generování vysoce kvalitních pseudonáhodných čísel pomocí Mersenne Twister generátor. Funguje rychleji než rand () funkce. Syntaxe této funkce je uvedena níže.

Syntax:

int mt_rand (int min, int max)

Jako rand () funkce, nastavení maximálních a minimálních hodnot může trvat dva argumenty a tuto funkci lze také použít bez jakýchkoli argumentů. Použití této funkce je uvedeno níže.

Příklad 3: Různá použití funkce mt_rand ()

Následující příklad ukazuje použití mt_rand () funkce s argumenty a bez nich. První mt_rand () funkce je volána bez jakéhokoli argumentu, který vygeneruje velké celé číslo. Druhý mt_rand () funkce je volána s minimální a maximální hodnotou, která vygeneruje číslo v definovaném rozsahu.

// Použití funkce mt_rand () bez argumentu
ozvěna "

Vygenerované náhodné číslo pomocí mt_rand () bez argumentu:

";
ozvěna "

". mt_rand (). "

";
// Použití funkce mt_rand () s argumenty
ozvěna "

Generované náhodné číslo pomocí mt_rand () definováním argumentů:

";
ozvěna "

". mt_rand (15,150). "

";
?>

Výstup:
Následující podobný výstup se vygeneruje po spuštění skriptu ze serveru. První výstup ukazuje, že bylo vygenerováno velké celé číslo, když v argumentu není použit žádný argument mt_rand () funkce. Druhý výstup ukazuje, že bylo vygenerováno číslo v rozmezí 15 až 150.

Závěr

V tomto tutoriálu byly na jednoduchých příkladech vysvětleny tři různé způsoby generování náhodných čísel v PHP. Je lepší použít random_int () funkce, když je důležitá bezpečnost, ale je lepší použít mt_rand () funkce, když je potřeba generovat náhodné číslo rychleji. rand () lze použít k vygenerování jednoduchého náhodného čísla.

Hry Nejlepší hry pro ruční sledování
Nejlepší hry pro ruční sledování
Oculus Quest nedávno představil skvělou myšlenku ručního sledování bez ovladačů. S neustále se zvyšujícím počtem her a aktivit, které provádějí podpor...
Hry Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Hraní her na celou obrazovku nebo používání aplikací v režimu celé obrazovky bez rozptýlení vás mohou odříznout od příslušných systémových informací v...
Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...