3

在 PHP 中,我们可以选择mt_rand()rand(),其中mt_rand()使用 Mersenne Twister 算法并rand()使用 libc 随机生成器。

我想使用array_rand从数组中选择一个随机项。但是,是否array_rand使用 Mersenne Twister 算法?

array_rand实现我自己的using非常简单mt_rand,但如果 array_rand 使用 Mersenne Twister,那就更好了。

4

3 回答 3

3

现在可以了,从 PHP 7.1 开始;有关更多详细信息,请参阅此 RFC和此错误报告

于 2017-12-04T02:35:11.557 回答
1

可能不是这种情况,因为array_rand()过去的结果根本不是随机的。它已在最新版本中得到修复(有关详细信息,请参阅Vaxquis 的答案)。

于 2012-04-11T07:54:18.373 回答
0

似乎在内部array_rand使用php_rand(),这似乎是旧非 mt 版本。

于 2012-04-11T08:01:12.100 回答