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