我有一個從表中調用用戶關聯用戶的函數。該函數然後使用rand();函數從數組中選擇5個隨機選擇的用戶ID然而!...Rand();排除和已經隨機生成的數字..?
在用戶不具有許多關聯用戶但超過min(如果低於5它只是返回數組的情況下),那麼它由於重複的蘭特編號給出了不好的結果...
如何克服這個問題或從下一個蘭特()中排除先前選擇的蘭特編號?函數調用。
以下是執行該工作的代碼部分。請記住,這個腳本在任何地方都可以使用,因此必須高效。
$size = sizeof($users)-1;
$nusers[0] = $users[rand(0,$size)];
$nusers[1] = $users[rand(0,$size)];
$nusers[2] = $users[rand(0,$size)];
$nusers[3] = $users[rand(0,$size)];
$nusers[4] = $users[rand(0,$size)];
return $nusers;
在此先感謝! 斯特凡
無論出於何種原因,我無法加載該鏈接。 – Powerlord 2010-05-12 18:13:03
@ R. Bemrose:http://www.boallen.com/random-numbers.html涵蓋了相同的主題。 – 2010-05-12 21:53:09