srand
funkcja
Inicjalizuje generator liczb pseudolosowych funkcji rand() podanym ziarnem, gwarantując powtarzalną sekwencję wyników.
srand(?int $seed = null, int $mode = MT_RAND_MT19937): void
srand ustawia ziarno (ang. seed) generatora używanego przez rand. Ta sama liczba jako ziarno da zawsze tę samą sekwencję wylosowanych wartości — co jest przydatne w testach i przy odtwarzaniu scenariuszy. W PHP 8 rand jest aliasem mt_rand, więc pod spodem działa Mersenne Twister — ziarno podane przez srand i mt_srand produkuje identyczną sekwencję. Jeśli pominiesz argument lub podasz null, PHP dobierze ziarno automatycznie.
Uwaga bezpieczeństwa: generator PRNG seeded przez srand nie nadaje się do celów kryptograficznych. Do haseł, tokenów i kluczy używaj random_int lub random_bytes.
<?php
declare(strict_types=1);
srand(42);
echo rand(1, 100); // 43
echo rand(1, 100); // 68
echo rand(1, 100); // 77
// Ta sama sekwencja po ponownym wywołaniu srand(42):
srand(42);
echo rand(1, 100); // 43 — identyczny wynik