douxuan1284 2014-06-06 17:44
浏览 162
已采纳

mt_srand()和srand() - 是否有必要将种子重置为随机数?

I have a function in my code that uses a seed to get a predictable (based on the seed) set of random numbers.

$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);

Is it necessary to call mt_srand() at the end of my function to reset it back to a random seed once I'm done with it?

  • 写回答

1条回答 默认 最新

  • duanqiechui2378 2014-06-06 18:03
    关注

    Yes. The state of mt_rand() is global — if your function sets it to a fixed value, it will stay in that state after your function exits. While it's not ideal to call mt_srand(), as that would disrupt any other function that's trying to set a fixed seed, it's still preferable to leaving the random number generator in a non-random state.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集