Алгоритм Mersenne Twister является детерминированным алгоритмом.Он начинается с начального числа, а затем генерирует случайные числа на его основе.Таким образом, при условии, что начальное число одинаковое, оно будет генерировать одинаковые случайные числа.
Обычно PHP выполняет начальное заполнение mt_rand
с некоторыми данными на основе microtime
, но вы можете вручную заполнить его, используя mt_srand
.
mt_srand(0);
var_dump(mt_rand());
mt_srand(0);
var_dump(mt_rand());
Обратите внимание, что оба вызова функций дадут вам один и тот же номер 963932192
.
Так что все, что вам в основном нужно сделать, это запустить его вручную, и вы будетев состоянии предсказать все числа, которые он генерирует.