repetir rand numeros numero number mt_rand generar digitos cifras cadena aleatorios aleatorio aleatoria php security random

rand - Número aleatorio en el rango[min-max] usando PHP



php random number 5 digits (7)

En un nuevo PHP7 finalmente hay un soporte para un PHP7 pseudoaleatorio criptográficamente seguro.

int random_int ( int $min , int $max )

random_int - Genera enteros pseudoaleatorizados criptográficamente seguros

que básicamente hace que las respuestas anteriores sean obsoletas.

¿Hay alguna manera de generar un número aleatorio basado en un mínimo y máximo?

Por ejemplo, si min fuera 1 y max 20, ¿debería generar cualquier número entre 1 y 20, incluyendo 1 y 20?


He agrupado las respuestas aquí y las he hecho independientes;

function generateRandom($min = 1, $max = 20) { if (function_exists(''random_int'')): return random_int($min, $max); // more secure elseif (function_exists(''mt_rand'')): return mt_rand($min, $max); // faster endif; return rand($min, $max); // old }


Prueba este. Generará id de acuerdo a tu deseo.

function id() { // add limit $id_length = 20; // add any character / digit $alfa = "abcdefghijklmnopqrstuvwxyz1234567890"; $token = ""; for($i = 1; $i < $id_length; $i ++) { // generate randomly within given character/digits @$token .= $alfa[rand(1, strlen($alfa))]; } return $token; }


Una versión más rápida más rápida usaría mt_rand:

$min=1; $max=20; echo mt_rand($min,$max);

Fuente: http://www.php.net/manual/en/function.mt-rand.php .

NOTA: Su servidor necesita tener habilitado el módulo Math PHP para que esto funcione. Si no lo hace, inserte un error en su host para habilitarlo o use el rand normal (y más lento) ().


<?php $min=1; $max=20; echo rand($min,$max); ?>



rand(1,20)

La función de rand de Docs para PHP está aquí:

php.net/manual/en/function.rand.php

Use la función srand() para establecer el valor de inicialización del generador de números aleatorios.