En PHP, ¿cómo genero un gran número pseudoaleatorio?
Estoy buscando una manera de generar ungrande Número aleatorio con PHP, algo como:
mt_rand($lower, $upper);
Cuanto más cerca he visto esgmp_random() sin embargo, no me permite especificar los límites inferior y superior solo el número de bits por extremidad (que no tengo idea de lo que es).
EDITAR: La respuesta de Axsuuls parece ser bastante cercana a lo que quiero y muy similar a gmp_random, sin embargo, parece que solo hay una falla en un escenario.
Supongamos que no quiero obtener un número aleatorio entre:
1225468798745475454898787465154y:
1225468798745475454898787465200Así que si la función se llamaBigRandomNumber():
BigRandomNumber($length = 31);
Esto puede devolver fácilmente 999999999999999999999999999999999 que está fuera del límite especificado.
¿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 entre1225468798745475454898787465 [154 .. 200].
Para la referencia creo que la solución podría tener que hacer uso de lafunción suministrada en esta pregunta.
EDITAR: La publicación anterior fue eliminada, 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;
}
}