Genera un valor aleatorio

# rand

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

rand — Genera un valor aleatorio

### Descripción

function rand(): int
function rand(int `$min`, int `$max`): int

Llamada sin los argumentos `min` y `max`, rand() devuelve un número pseudoaleatorio entre 0 y getrandmax(). Si se desea un número aleatorio entre 5 y 15 (inclusive), por ejemplo, se puede utilizar `rand (5, 15)`.

Precaución

Esta función no genera valores criptográficamente seguros, y no debe ser utilizada con fines criptográficos, o con fines que requieran que los valores devueltos sean indescifrables.

Si se requiere aleatoriedad criptográficamente segura, el Random\Randomizer puede ser utilizado con el motor Random\Engine\Secure. Para casos de uso simples, las funciones random_int() y random_bytes() proporcionan una API práctica y segura que es soportada por el CSPRNG del sistema operativo.

Precaución

Esta función utiliza la instancia global Mt19937 ("Mersenne Twister") como fuente de aleatoriedad y por lo tanto comparte su estado con todas las demás funciones que usan el Mt19937 global. El uso de cualquiera de estas funciones avanza la secuencia para todas las demás funciones, independientemente del ámbito.

Generar secuencias repetibles sembrando mt_srand() o srand() con un valor conocido también producirá una salida repetible de esta función.

Preferir el uso de los métodos de Random\Randomizer en todo código nuevo.

> Nota: Antes de PHP 7.1.0, getrandmax() valía solo 32767 en ciertas plataformas (como Windows). Si se necesita un rango superior a 32767, se recomienda especificar un valor límite superior a 32767, al especificar `min` y `max`, se permitirá utilizar un intervalo más grande que mt_getrandmax(), o bien, utilizar la función mt_rand() en su lugar.

> Nota: A partir de PHP 7.1.0, rand() utiliza el mismo generador de números aleatorios que mt_rand(). Para preservar la compatibilidad ascendente, rand() permite que `max` sea más pequeño que `min` en oposición al retorno `false` de mt_rand()

### Parámetros

`min`

  El valor más pequeño a devolver (por omisión, 0)

`max`

  El valor más grande a devolver (por omisión, mt_getrandmax())

### Valores devueltos

Un valor pseudoaleatorio, comprendido entre `min` (o 0) y `max` (o mt_getrandmax(), inclusive).

### Historial de cambios

Versión | Descripción
--- | ---
7.2.0 | rand() recibió una corrección de error para un bug de polarización módulo. Esto significa que las secuencias generadas en ciertos casos específicos pueden diferir de PHP 7.1 en las máquinas de 64 bits.
7.1.0 | rand() fue hecho un alias de mt_rand().

### Ejemplos

Ejemplo #1 Ejemplo con rand()

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

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

Resultado del ejemplo anterior es similar a:

    7771
    22264
    11

### Notas

Advertencia

El rango `min` `max` debe situarse dentro del rango getrandmax(). es decir, abs(`max` - `min`) <= getrandmax(). De lo contrario, rand() puede devolver números aleatorios de mala calidad.

### Ver también

- srand() - Inicializa el generador de números aleatorios
- getrandmax() - Valor aleatorio máximo posible
- mt_rand() - Genera un valor aleatorio mediante el generador de números aleatorios Mersenne Twister
- random_int() - Obtiene un integer seleccionado de manera uniforme y criptográficamente segura
- random_bytes() - Obtiene bytes aleatorios criptográficamente seguros

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open