Random\Engine\Mt19937::__construct
En esta página
Random\Engine\Mt19937::__construct
Construye un nuevo motor Mt19937
Descripción#
public Random\Engine\Mt19937::__construct([int $seed], [int $mode])
```php
> [!CAUTION]
> Dado que el motor Mt19937 ("Mersenne Twister") toma un solo entero de 32 bits como semilla, el número de secuencias aleatorias posibles está limitado a solo 2<sup>32</sup> (por ejemplo 4 294 967 296), a pesar de la enorme período de Mt19937 de 2<sup>19937</sup>-1.
>
> Cuando se confía en una semilla aleatoria implícita o explícita, las duplicaciones aparecerán mucho antes. Las semillas duplicadas son esperadas con una probabilidad del 50% después de menos de 80 000 semillas generadas aleatoriamente según el problema del cumpleaños. Una probabilidad del 10% de una semilla duplicada ocurre después de haber generado aproximadamente 30 000 semillas de manera aleatoria.
>
> Esto hace que Mt19937 sea inadecuado para aplicaciones donde las secuencias duplicadas no deben ocurrir con más que una probabilidad despreciable. Si se requiere una semilla reproducible, tanto el motor `Random\Engine\Xoshiro256StarStar` como `Random\Engine\PcgOneseq128XslRr64` soportan semillas mucho más grandes que son poco propensas a colisionar aleatoriamente. Si la reproductibilidad no es requerida, el motor `Random\Engine\Secure` proporciona datos aleatorios criptográficamente seguros.
## Parámetros
`seed`
Rellena el estado con valores generados con un generador congruencial lineal que fue inicializado con `seed` interpretado como un entero sin signo de 32 bits.
Si `seed` se omite o es `null`, se utilizará un entero sin signo de 32 bits aleatorio.
`mode`
Utilice una de las siguientes constantes para especificar la implementación del algoritmo a usar. `MT_RAND_MT19937`: La implementación correcta de Mt19937., `MT_RAND_PHP`: Una implementación incorrecta para compatibilidad con versiones anteriores de `mt_srand` anterior a PHP 7.1.0.
> [!WARNING]
> Esta característica está *OBSOLETA* a partir de PHP 8.3.0. Depender de esta característica está altamente desaconsejado.
## Ejemplos
Ejemplo de `Random\Engine\Mt19937::__construct`
```php