我的代码中有一个函数,它使用种子来获取一组可预测的(基于种子)随机数。
$seed = 1234;
mt_srand($seed);
echo mt_rand(0,10);
echo mt_rand(0,10);
echo mt_rand(0,10);
echo mt_rand(0,10);
完成后是否有必要在函数末尾调用 mt_srand() 将其重置回随机种子?
最佳答案
是的。 mt_rand()
的状态是全局的 - 如果您的函数将其设置为固定值,则在您的函数退出后它将保持该状态。虽然调用 mt_srand()
并不理想,因为这会破坏尝试设置固定种子的任何其他函数,但最好还是让随机数生成器处于非随机状态。
关于php - mt_srand() 和 srand() - 是否有必要将种子重置为随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24087768/