Я ищу способ создания большого случайного числа с PHP, что-то вроде:
mt_rand($lower, $upper);
Чем ближе я увидел gmp_random(), тем не менее, это не позволяет мне указывать нижнюю и верхнюю границы только число бит на конечность (что я не знаю, что это такое).
РЕДАКТИРОВАТЬ: ответ Axsuuls кажется довольно близким к тому, что я хочу, и очень похож на gmp_random, но, похоже, в одном сценарии есть только один недостаток.
Предположим, что я не получил случайное число между:
- 1225468798745475454898787465154
и
- 1225468798745475454898787465200
Итак, если функция называется BigRandomNumber():
BigRandomNumber($length = 31);
Это может легко вернуть 999999999999999999999999999999999, который выходит за пределы указанной границы.
Как использовать границу min/max вместо значения длины?
BigRandomNumber('1225468798745475454898787465154', '1225468798745475454898787465200');
Это должно возвращать случайное число между 1225468798745475454898787465 [154.. 200].
Для справки я считаю, что решение, возможно, должно было бы использовать функцию предоставленную в этом вопросе.
EDIT: вышеупомянутая запись была удалена, вот она:
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;
}
}