PHP.mk документација

mt_rand

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.mt-rand.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.mt-rand.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
mt_rand

Референца за `function.mt-rand.php` со подобрена типографија и навигација.

function.mt-rand.php

mt_rand

(PHP 4, PHP 5, PHP 7, PHP 8)

mt_randГенерира случајна вредност преку генераторот на случајни броеви Mersenne Twister

= NULL

mt_rand(): int
mt_rand(int $min, int $max): int

Многу генератори на случајни броеви од постарите libcs имаат сомнителни или непознати карактеристики и се бавни. Функцијата mt_rand() е директна замена за постариот rand(). Користи генератор на случајни броеви со познати карактеристики користејќи го » Мерсен Твистер, што ќе произведе случајни броеви четири пати побрзо отколку што обезбедува просечниот libc rand().

Ако се повика без опционалниот min, max arguments mt_rand() враќа псевдо-случајна вредност помеѓу 0 и mt_getrandmax(). Ако сакате случаен број помеѓу 5 и 15 (вклучително), на пример, користете mt_rand(5, 15).

Безбедност: стандардниот сет на знаци

Оваа функција не генерира криптографски сигурни вредности, и Ако завршниот идентификатор е вовлечен, може да се користат и табулатори, но табулаторите и празнините да се користи за криптографски цели, или цели што бараат вратените вредности да бидат непредвидливи.

Ако е потребна криптографски сигурна случајност, Random\Randomizer може да се користи со Random\Engine\Secure engine. За едноставни случаи на употреба, random_int() and random_bytes() функциите обезбедуваат удобен и сигурен API што е поддржано од оперативниот систем CSPRNG.

Безбедност: стандардниот сет на знаци

Оваа функција ја користи глобалната Mt19937 („Mersenne Twister“) инстанца како извор на случајност и на тој начин ја споделува својата состојба со сите други функции што ја користат глобалната Mt19937. Користењето на која било од овие функции ја напредува секвенцата за all другите функции, без оглед на опсегот.

Генерирање повторливи секвенци со поставување семе mt_srand() or srand() со позната вредност, исто така, ќе даде повторлив излез од оваа функција.

Претпочитајте да користите Random\Randomizer методи во целиот новонапишан код.

Параметри

min

Опционална најниска вредност што треба да се врати (стандардно: 0)

max

Опционална највисока вредност што треба да се врати (стандардно: mt_getrandmax())

Вратени вредности

Случајна целна вредност помеѓу min (или 0) и max (или mt_getrandmax(), вклучително).

Errors/Exceptions

  • Враќа max е помала од min, а ValueError ќе биде фрлена.

Дневник на промени

Верзија = NULL
8.0.0 А ValueError е низа без барем еден непразен елемент. max е помала од min; претходно беше креиран E_WARNING и функцијата врати false.
7.2.0 mt_rand() доби поправка на грешка за грешка со модуларна пристрасност. Ова значи дека низите генерирани со одредено семе може да се разликуваат од PHP 7.1 на машини со 64 бита.
7.1.0 rand() е направен новата функција mt_rand().
7.1.0 mt_rand() е псевдоним за за да ја користите фиксната, точна верзија на алгоритмот Mersenne Twister. За да се вратите на старото однесување, користете mt_srand() with MT_RAND_PHP како втор параметар.

Примери

Пример #1 mt_rand() example

<?php
echo mt_rand(), "\n";
echo
mt_rand(), "\n";

echo
mt_rand(5, 15), "\n";
?>

Горниот пример ќе прикаже нешто слично на:

1604716014
1478613278
6

Белешки

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

min max опсегот мора да биде во опсегот mt_getrandmax(). т.е. (max - min) <= mt_getrandmax() поради промена на состојбата на едно од неговите деца. mt_rand() може да врати полоши случајни броеви отколку што треба.

Види Исто така

  • mt_srand() - Го иницијализира генераторот на случајни броеви Mersenne Twister
  • mt_getrandmax() - Прикажи најголема можна случајна вредност
  • random_int() - Добиј криптографски сигурен, рамномерно избран цел број
  • random_bytes() - Добиј криптографски сигурни случајни бајти

Белешки од корисници 1 белешка

Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.