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
📘 Naucz się w lekcji →