我的php生锈了,我正在尝试使用PHP代码将一个不同的用户ID从一组可能的用户添加到以下数组中。
'online_users' => array(54)
'bots_ids' => array(153,122,173,124,173,132,184,188)
我想每1-5个小时选择一个随机机器人,之后他会被另一个机器人取代或者只是被删除(不是所有的机器人都必须在线同时进行)
我尝试将种子设置为当前小时数除以随机数,但似乎不起作用。
提前致谢!
答案 0 :(得分:1)
我认为你在这种情况下正在寻找一个array_rand()。它将从阵列中选择最多N个随机密钥并将它们放在它们自己的数组中。这将让你做你想做的事。
$online_bots = array('4','5','6');
$bot_ids = array('1','2','3');
$random_bots = array_rand($bot_ids,1); // Random id from list
$bot_going_offline = array_shift($online_bots); // pop a bot from online
$online_bots[]= $bot_ids[$random_bots]; // add random bot from list
$bot_ids[] = $bot_going_offline; // move the oldest online bot into common pool
至于问题的第2部分,您可以设置cron来在每小时执行脚本以触发更改。或者,对于在线/离线列表,您可以拥有一个可以每小时随机选择的公共机器人池。
$num_bots = rand ( 0, count($bot_ids));
$random_bots = array_rand($bot_ids,1); // Random id from list
for ($x = 0; X< $num_bots; x++)
$online[] = $bot_ids[$random_bots[$x]];
答案 1 :(得分:0)
一个。您可以每小时使用cron job
来调用脚本...使用bots
array_rand
$bots = array(153,122,173,124,173,132,184,188);
$current = $bots[array_rand($bots)];
var_dump($current);
B中。如果你有一个继续循环,你应该看How to echo something every 4 minutes while in an endless loop并用随机选择器替换echo