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 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀