mt_rand
(PHP 4, PHP 5, PHP 7, PHP 8)
mt_rand - Генерує випадкове значення методом за допомогою генератора простих чисел на базі Вихря Мерсенна
Опис
mt_rand(): int
mt_rand(int $min, int $max): int
Багато генераторів випадкових чисел у старих бібліотеках мають сумнівні чи невідомі характеристики, а також працюють досить повільно. Функція mt_rand() є заміною старої функції rand(). Вона використовує генератор випадкових чисел з відомими характеристиками, заснований на » Вихор Мерсеннащо генерує випадкові числа в середньому в чотири рази швидше, ніж libc rand().
Викликана без необов'язкових параметрів min
иmax
, функцияmt_rand() повертає псевдовипадкове значення між 0 та mt_getrandmax(). Якщо потрібно, наприклад, випадкове число між 5 і 15 (включно), використовуйте виклик mt_rand(5,15)
Застереження
Функція не створює криптографічно захищені значення та не повинна використовуватися для криптографічних цілей або цілей, що вимагають, щоб значення, що повертаються, були недоступні для розгадування.
Якщо потрібна криптографічно безпечна випадкова послідовність, можна використати клас Random\Randomizer з двигуном Random\Engine\Secure. Для простих сценаріїв є функції random_int() і random_bytes() із зручним API криптографічно безпечного генератора псевдовипадкових чисел (CSPRNG), що підтримується операційною системою.
Список параметрів
min
Необов'язковий параметр: мінімальне значення випадкового числа (за замовчуванням: 0)
max
Необов'язковий параметр: максимальне значення випадкового числа (за замовчуванням: mt_getrandmax()) .
Значення, що повертаються
Случайное целое значение междуmin
(або 0) та max
(илиmt_getrandmax(), включно), або false
у разі якщо max
меньшеmin
список змін
Версия | Опис |
---|---|
7.2.0 | Дляmt_rand()здійснено виправлення бага усунення по модулю. Це означає, що послідовності згенеровані з конкретним початковим значенням можуть відрізнятися від згенерованих PHP 7.1 для 64-бітних машин. |
7.1.0 | rand()тепер є псевдонімом для mt_rand() |
7.1.0 | Функцияmt_rand()була оновлена і тепер використовує коректну версію генератора випадкових чисел з урахуванням Вихря Мерсенна. Для використання старої поведінки, використовуйте mt_srand() з другим параметром, встановленим у MT_RAND_PHP |
Приклади
Приклад #1 Приклад використання mt_rand()****
Loading...
Висновок наведеного прикладу буде схожим на:
1604716014
1478613278
6
Примітки
Увага
Диапазонmin
max
не повинен виходити за кордон mt_getrandmax(). Тобто (max
min
) <= mt_getrandmax(). В іншому випадку, mt_rand() може повертати менш якісні довільні числа.
Дивіться також
- mt_srand() - Ініціалізує генератор випадкових чисел на базі Вихря Мерсенна
- mt_getrandmax() - Показує максимально можливе значення випадкового числа
- random_int() - Отримує криптографічно безпечне, рівномірно вибране ціле число
- random_bytes() - Отримує криптографічно безпечні випадкові байти