srand
(PHP 4, PHP 5, PHP 7, PHP 8)
srand - Задає початкове число генератора псевдовипадкових чисел
Опис
srand(?int $seed = null, int $mode = MT_RAND_MT19937): void
Встановлює початкове число генератора випадкових чисел рівним seed
или случайному числу, если значение параметраseed
одно
Зауваження: Немає необхідності ініціалізувати генератор випадкових чисел функціями **srand()**илиmt_srand()оскільки це відбувається автоматично.
Застереження
Оскільки механізм Mt19937 ("Mersenne Twister") приймає як значення лише одне 32-бітове ціле число, кількість можливих випадкових послідовностей обмежена всього 232 (тобто 4294967296), незважаючи на величезний період Mt19937, рівний 219937-1.
Якщо покладатися на неявне або явне випадкове значення, дублікати з'являться набагато раніше. Дубльовані значення очікуються з 50% ймовірністю після менш ніж 80 000 випадково згенерованих значень відповідно до проблеми дня народження. Імовірність дублювання значень становить 10% після випадкової генерації приблизно 30000 значень.
Це робить Mt19937 непридатним для застосування у тих випадках, коли дублювання послідовностей не повинно відбуватися з більш ніж нікчемною ймовірністю. Якщо потрібно відтворюване значення, то двигуни Random\Engine\Xoshiro256StarStar і Random\Engine\PcgOneseq128XslRr64 підтримують набагато більші значення, які навряд чи зіткнуться випадково. Якщо відтворюваність не потрібна, механізм Random\Engine\Secure забезпечує криптографічно безпечну випадкову послідовність.
Зауваження: Починаючи з PHP 7.1.0 функція srand() стала синонімом функції mt_srand()
Список параметрів
seed
Заповнює стан значеннями, що згенеровані лінійним конгруентним генератором, які були ініціалізовані значенням параметра seed
, що інтерпретується як 32-бітове ціле беззнакове число.
Якщо параметр seed
не був заданий або рівний null
, буде використано випадкове беззнакове 32-бітове число.
Значення, що повертаються
Функція не повертає значення після виконання.
список змін
Версия | Опис |
---|---|
8.3.0 | Тепер параметр seed може набувати значення null |
7.1.0 | srand()стала синонімом функції mt_srand() |
Дивіться також
- rand() - Генерує випадкове число
- getrandmax() - Повертає максимально можливе випадкове число
- mt_srand() - Ініціалізує генератор випадкових чисел на базі Вихря Мерсенна