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

标签 php c

我的代码中有一个函数,它使用种子来获取一组可预测的(基于种子)随机数。

$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/

相关文章:

php - MySQL 条目在 PHP 中存储为空值

PHP - date() 不安全?我用什么?

c - gcc编译错误: "inlining failed in call to always_inline" even after setting cflags environment variable

microcontroller - C while 在数字范围之间循环

c - C 中的输出缩进

php - 使用 Composer 在 Laravel 5.x 中安装 Google 的 ClientAPI

php - 为什么 htmlspecialchars 在表单发布的 'PHP_SELF' 上工作,而不在 'REQUEST_URI' 上工作?

php - 为什么我的变量是NULL?尝试将 mysql 查询的结果放入变量中

c++ - 如何用C/C++打开和加载oracle fmb文件?

Python,在 python 代码中处理 Py_buildValue