Użycie rand()
Ta funkcja służy do generowania losowej liczby całkowitej. Składnia tej funkcji jest podana poniżej.
Składnia:
int rand()lub
int rand(int min, int max)Zwraca dużą losową liczbę całkowitą, jeśli w funkcji nie jest używany żaden parametr. Jeśli w tej funkcji podane są dwie wartości argumentów, zwróci losową liczbę całkowitą na podstawie wartości argumentów. Korzystanie z tej funkcji pokazano poniżej.
Przykład 1: Różne zastosowania funkcji rand()
Poniższy przykład pokazuje trzy różne zastosowania skraj() funkcja generowania liczby losowej. Na początku skraj() funkcja jest wywoływana dwa razy bez żadnego argumentu, aby pokazać, jak domyślnie generowane są liczby losowe. Następnie jest wywoływany dwa razy z dwiema różnymi wartościami minimalnymi i maksymalnymi. W końcu jest wywoływana dwa razy z operatorem bitowym.
//Użycie funkcji rand() bez argumentuEcho "
Liczba losowa przy użyciu funkcji rand() bez argumentu:
";Echo "
Pierwsza losowa liczba: ". skraj(). "
";Echo "
Druga liczba losowa: ". skraj(). "
";//Użycie funkcji rand() z argumentami
Echo "
Liczba losowa przy użyciu funkcji rand() poprzez zdefiniowanie argumentów:
";Echo "
Pierwsza losowa liczba z zakresu [10-100]: ". rand(10100). "
";Echo "
Druga liczba losowa z zakresu [100-500]: ". rand (100 500). "
";//Użycie funkcji rand() z operatorem bitowym
Echo "
Liczba losowa za pomocą rand() za pomocą operatora bitowego:
";echo "Pierwsza liczba losowa przy użyciu operatora bitowego (&) z 10: ";
echo rand()&10 ;
Echo "
Druga liczba losowa przy użyciu operatora bitowego (&) z 50: ";
echo rand()&50 ;
?>
Wynik:
Podobny wynik pojawi się po uruchomieniu skryptu z serwera. Pierwsze wyjście pokazuje dwie różne duże liczby. W drugim wyjściu pierwsza liczba losowa została wygenerowana w zakresie od 10 do 100, a druga liczba losowa została wygenerowana w zakresie od 100 do 500. W trzecim wyjściu pierwsza liczba losowa została wygenerowana w zakresie od 0 do 10, a druga liczba losowa została wygenerowana w zakresie od 0 do 50.
Użycie random_int()
Ta funkcja służy do generowania kryptograficznie pseudobezpiecznej liczby losowej. Funkcja wywołania systemowego losowy(2) jest używany w Ubuntu do generowania kryptograficznej liczby losowej. Ta funkcja jest bezpieczniejsza niż skraj() funkcja, ponieważ wygenerowana liczba nie jest przewidywalna. Ale random_int() jest wolniejszy niż skraj() funkcjonować. Składnia tej funkcji jest podana poniżej.
Składnia:
int random_int(int min, int max)W funkcji używane są dwa argumenty do ustawienia zakresu generowania kryptograficznej liczby losowej. Pierwszy argument służy do ustawienia najniższej wartości, a drugi służy do ustawienia najwyższej wartości liczby. Korzystanie z tej funkcji pokazano poniżej.
Przykład 2: Różne zastosowania funkcji random_int()
Poniższy przykład pokazuje użycie use random_int() funkcja generowania liczby losowej poprzez podanie wartości minimalnej i maksymalnej. Wartości te mogą być liczbą całkowitą lub zmiennoprzecinkową, ale wartość minimalna nie może być większa niż wartość maksymalna. Na początku random_int() funkcji, dodatnie liczby całkowite są używane jako wartości minimalne i maksymalne maximum. W sekundę random_int() funkcja, ujemna liczba całkowita jest używana jako minimalna, a dodatnia liczba całkowita jest używana jako wartość maksymalna. W trzecim random_int() funkcji, liczby zmiennoprzecinkowe są używane jako wartości minimalne i maksymalne.
//Ustaw dodatnie wartości minimalne i dodatnie maksymalneEcho "
Dane wyjściowe random_int() z dodatnimi wartościami min i max: " .random_int(1000, 10000). "
";//Ustaw ujemne wartości minimalne i dodatnie wartości maksymalne positive
Echo "
Dane wyjściowe random_int() z ujemną minimalną i dodatnią wartością maksymalną: " .random_int(-500, 10000). "
";//Ustaw ułamkowe wartości minimalne i maksymalne
Echo "
Dane wyjściowe random_int() z ułamkową wartością minimalną i maksymalną: " .random_int(0.67, 54.89). "
";?>
Wynik:
Poniższe podobne dane wyjściowe pojawią się po uruchomieniu skryptu z serwera.
Użycie mt_rand ()
Ta funkcja służy do generowania wysokiej jakości liczb pseudolosowych za pomocą Mersenne Twister generator. Działa szybciej niż skraj() funkcjonować. Składnia tej funkcji jest podana poniżej.
Składnia:
int mt_rand(int min, int max)Podobnie jak skraj() funkcja, może potrzebować dwóch argumentów, aby ustawić wartość maksymalną i minimalną, a funkcja ta może być również używana bez żadnych argumentów. Korzystanie z tej funkcji pokazano poniżej.
Przykład 3: Różne zastosowania funkcji mt_rand()
Poniższy przykład pokazuje użycie use mt_rand() funkcja z argumentami i bez. Pierwszy mt_rand() funkcja jest wywoływana bez żadnego argumentu, który wygeneruje dużą liczbę całkowitą. Drugi mt_rand() funkcja jest wywoływana z minimalną i maksymalną wartością, która wygeneruje liczbę z określonego zakresu.
//Użycie funkcji mt_rand() bez argumentuEcho "
Wygenerowana liczba losowa przy użyciu mt_rand() bez argumentu:
";Echo "
". mt_rand(). "
";//Użycie funkcji mt_rand() z argumentami
Echo "
Wygenerowana liczba losowa za pomocą mt_rand() poprzez zdefiniowanie argumentów:
";Echo "
". mt_rand(15,150). "
";?>
Wynik:
Następujące podobne dane wyjściowe wygenerują po uruchomieniu skryptu z serwera. Pierwsze wyjście pokazuje, że duża liczba całkowita została wygenerowana, gdy żaden argument nie jest używany w mt_rand() funkcjonować. Drugie wyjście pokazuje, że została wygenerowana liczba z zakresu od 15 do 150.
Wniosek
Trzy różne sposoby generowania liczby losowej w PHP zostały wyjaśnione w tym samouczku za pomocą prostych przykładów. Lepiej użyć random_int() funkcja, gdy bezpieczeństwo jest ważne, ale lepiej jest użyć mt_rand() funkcja, gdy wymagane jest szybsze generowanie liczby losowej. skraj() funkcja może służyć do generowania prostej liczby losowej.