PHP的随机播放功能随机性如何?
|
有谁知道PHP的
shuffle()
函数的随机性是什么?是否取决于操作系统?
它使用PHP自己的播种器吗?
可以将ѭ1用作发生器吗?
没有找到相关结果
已邀请:
7 个回复
梦话快家腹
函数基于与ѭ3on相同的生成器,后者是基于线性同余算法的系统生成器。这是一个快速生成器,但是具有或多或少的随机性。从PHP 4.2.0开始,将自动为随机数生成器生成种子,但是您可以根据需要使用
函数对其进行种子设置。
基于Mersenne Twister算法,它是目前可用的最佳伪随机算法之一。要使用该生成器随机播放数组,您需要编写自己的随机播放函数。您可以查看例如Fisher-Yates算法。编写自己的随机播放功能会产生更好的随机性,但会比内置随机播放功能慢。
缉康怪
芜任亮蜡
的实现现在利用了Mersenne Twister PRNG(即,它使用
并受到了
的影响)。 旧系统PRNG(
)不再可用;函数
和
实际上是别名
。
疾很毋悲
一样随机。 作为PHP风格,您无需播种
拈吉勉犬姆
生成一个随机数。
随机化数组。它还会在数组中生成新键,而不仅仅是重新排列旧键。 如果您想在PHP中播种,可以使用
。 但是,由于PHP 4.2.0在调用mt_rand时会自动在PHP中完成种子设置。
盛梯獭八搽
娠频摩
这不是最好的方法,但是当我使用shuffle函数时,它总是以相同的顺序返回随机数组。如果这可以帮助某人,我会很高兴!