在 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,那就更好了。
在 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,那就更好了。
可能不是这种情况,因为array_rand()
过去的结果根本不是随机的。它已在最新版本中得到修复(有关详细信息,请参阅Vaxquis 的答案)。
似乎在内部array_rand
使用php_rand()
,这似乎是旧的非 mt 版本。