rand

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

randGenera un valor aleatorio

Descripción

rand(): int
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 para fines criptográficos o fines que requieran que los valores devueltos sean impredecibles.

Si se requiere aleatoriedad criptográficamente segura, se puede utilizar el Random\Randomizer con el motor Random\Engine\Secure. Para casos de uso simples, las funciones random_int() y random_bytes() proporcionan una API conveniente y segura respaldada por el CSPRNG del sistema operativo.

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";
?>

El resultado del ejemplo sería algo similar a:

7771
22264
11

Notas

Advertencia

El rango min max debe situarse dentro del rango getrandmax(). es decir, (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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top