Busco una forma de generar un gran número aleatoriocon PHP, algo así como:En PHP, ¿cómo puedo generar un gran número pseudoaleatorio?
mt_rand($lower, $upper);
Cuanto más cerca que he visto es gmp_random() sin embargo no me permite especificar el los límites inferior y superior solo el número de bits por miembro (que no tengo idea de qué se trata).
EDIT: Axsuuls la respuesta parece ser muy cercana a lo que quiero y muy similar a gmp_random, sin embargo, parece que hay un solo error en un escenario.
Supongamos que wa no para obtener un número aleatorio entre:
y:
Así que si el fu nción se llama BigRandomNumber():
BigRandomNumber($length = 31);
Esto puede volver fácilmente 9999999999999999999999999999999 que está fuera de los límites especificados.
¿Cómo puedo usar un límite mínimo/máximo en lugar de un valor de longitud?
BigRandomNumber('1225468798745475454898787465154', '1225468798745475454898787465200');
Esto debería devolver un número aleatorio entre 1225468798745475454898787465 [154 .. 200].
Para la referencia, creo que la solución podría tener que hacer uso de function supplied in this question.
EDIT: El post anterior fue suprimido, aquí está:
function compare($number1, $operator, $number2) {
$x = bccomp($number1, $number2);
switch($operator) {
case '<':
return -1===$x;
case '>':
return 1===$x;
case '=':
case '==':
case '===':
return 0===$x;
case '!=':
case '!==':
case '<>':
return 0!==$x;
}
}
¿Usted está buscando un número aleatorio o una cadena de dígitos al azar? .. ¿Qué planifica utilizar el resultado de esta llamada de función? si los valores que desea son> PHP_INT_MAX, manipularlos se convierte en un problema. –
Su último enlace ("función proporcionada en esta pregunta") está roto. – robguinness
@robguinness: Se ha solucionado. –