shuffle()数组..正确的方法来随机化数组结果?

Ahm*_*uad 0 php arrays

我想知道shuffle()数组函数是否是随机化数组结果的正确方法.

基本上,我在一个数组中有一些广告代码,我每次使用它来显示1个随机广告,但有一个广告似乎比任何东西都要多得多!我的意思是20次出现大约18次.我想通过随机化结果我会得到每个广告的相同观点,但事实并非如此.

这让我有疑问.是不是正确的方式来做这个...或者我需要一些完全不同的东西?

以下是我一次抓取随机广告代码的代码.

if (count($eligible_ads) > 1) {
    shuffle($eligible_ads);
    echo stripslashes($eligible_ads[0]['code']);
}
Run Code Online (Sandbox Code Playgroud)

dec*_*eze 7

你也可以简单地选择一个随机密钥array_rand,而不是整理东西.它不会比那更随机*.基于仅20次运行的测试数据,你不能说一些不随机的东西.如果你运行它几千次,它应该是均匀的.

换一种说法:

Dilbert http://img51.imageshack.us/img51/2848/dilberttourofaccounting.png

* 至少PRNG至少.