mt_srand

funkcja

Inicjalizuje generator Mersenne Twister podanym ziarnem, gwarantując powtarzalną sekwencję wyników mt_rand().

mt_srand(?int $seed = null, int $mode = MT_RAND_MT19937): void

mt_srand ustawia ziarno generatora Mersenne Twister, z którego korzysta mt_rand. Wyniki są szybsze i lepiej rozłożone statystycznie niż stary rand, ale wciąż są deterministyczne — to samo ziarno zawsze produkuje tę samą sekwencję. Parametr $mode wybiera wariant algorytmu: domyślny MT_RAND_MT19937 to poprawna implementacja; MT_RAND_PHP zachowuje starsze, błędne zachowanie dla kompatybilności wstecznej.

Uwaga bezpieczeństwa: mt_rand nie jest kryptograficznie bezpieczny — do tokenów i haseł używaj random_int.

<?php
declare(strict_types=1);

mt_srand(42);
echo mt_rand(1, 100); // 43
echo mt_rand(1, 100); // 68
echo mt_rand(1, 100); // 77

// Ta sama sekwencja po ponownym wywołaniu mt_srand(42):
mt_srand(42);
echo mt_rand(1, 100); // 43 — identyczny wynik
📘 Naucz się w lekcji →