我的代码中有一个函数,它使用种子来获得可预测的(基于种子)随机数集。
$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(),以便在我完成后将其重置为随机种子?
答案 0 :(得分:4)
是。 mt_rand()
的状态是全局的 - 如果您的函数将其设置为固定值,则在函数退出后它将保持该状态。虽然调用mt_srand()
并不理想,因为这会破坏试图设置固定种子的任何其他函数,但仍然优选将随机数生成器保持在非随机状态。