W PHP, jak wygenerować dużą liczbę pseudolosową?
Szukam sposobu na wygenerowanieduży liczba losowa z PHP, coś w stylu:
mt_rand($lower, $upper);
Im bliżej widziałemgmp_random() jednak nie pozwala mi określić dolnych i górnych granic tylko liczby bitów na kończyny (które nie mam pojęcia, co to jest).
EDYCJA: Odpowiedź Axsuuls wydaje się być dość zbliżona do tego, czego chcę i bardzo podobna do gmp_random, jednak wydaje się, że w jednym scenariuszu jest tylko jedna wada.
Przypuśćmy, że nie chcę uzyskać losowej liczby między:
1225468798745475454898787465154i:
1225468798745475454898787465200Więc jeśli funkcja jest wywoływanaBigRandomNumber():
BigRandomNumber($length = 31);
Może to łatwo zwrócić 9999999999999999999999999999999, która jest poza określoną granicą.
Jak mogę użyć granicy min / max zamiast wartości długości?
BigRandomNumber('1225468798745475454898787465154', '1225468798745475454898787465200');
Powinno to zwrócić losową liczbę między1225468798745475454898787465 [154 .. 200].
Dla odniesienia uważam, że rozwiązanie może wymagać użyciafunkcja dostarczona w tym pytaniu.
EDYCJA: Powyższy wpis został usunięty, tutaj jest:
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;
}
}