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

Random\Engine\Mt19937::__construct

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

random-engine-mt19937.construct.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека random-engine-mt19937.construct.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Random\Engine\Mt19937::__construct

Референца за `random-engine-mt19937.construct.php` со подобрена типографија и навигација.

random-engine-mt19937.construct.php

Random\Engine\Mt19937::__construct

(PHP 8 >= 8.2.0)

Random\Engine\Mt19937::__constructКонструира нов Mt19937 мотор

= NULL

public Random\Engine\Mt19937::__construct(?int $seed = null, int $mode = MT_RAND_MT19937)

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

Бидејќи моторот Mt19937 („Mersenne Twister“) прифаќа само еден 32-битен цел број како семе, бројот на можни случајни низи е ограничен само на 232 (т.е. 4.294.967.296), и покрај огромниот период од 2 на Mt1993719937-1.

Кога се потпирате на имплицитно или експлицитно случајно сеење, дупликатите ќе се појават многу порано. Се очекуваат дупликатни семиња со 50% веројатност помалку од 80.000 случајно генерирани семиња според проблемот со роденденот. 10% веројатност за дупликат семе се случува по случајно генерирање на околу 30.000 семиња.

Ова го прави Mt19937 несоодветен за апликации каде што дупликатните низи не смеат да се случат со повеќе од занемарлива веројатност. Ако е потребно репродуктивно сеење, и двата Random\Engine\Xoshiro256StarStar and Random\Engine\PcgOneseq128XslRr64 моторите поддржуваат многу поголеми семиња кои веројатно нема случајно да се судираат. Ако репродуктивноста не е потребна, Random\Engine\Secure моторот обезбедува криптографски сигурна случајност.

Параметри

seed

Ја исполнува состојбата со вредности генерирани со линеарен конгруентен генератор кој беше иницијализиран со seed интерпретиран како 32-битен цел број без знак.

Враќа seed е изоставен или null, ќе се користи случаен 32-битен цел број без знак.

mode

Користете една од следниве константи за да ја специфицирате имплементацијата на алгоритмот што треба да се користи.

  • MT_RAND_MT19937: Точната имплементација на Mt19937.
  • MT_RAND_PHP: Неточна имплементација за компатибилност со претходните верзии со mt_srand() пред PHP 7.1.0.
Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Претходната порака за грешка DEPRECATED од PHP 8.3.0. Силно се обесхрабрува потпирањето на оваа функција.

Примери

Пример #1 Random\Engine\Mt19937::__construct() example

<?php
// Uses a random 32 Bit seed.
$e = new \Random\Engine\Mt19937();

$r = new \Random\Randomizer($e);
?>

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

Нема белешки од корисници за оваа страница.
На оваа страница

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

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

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

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

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