繁体   English   中英

每小时PHP随机

[英]PHP random every hour

我的php生锈了,我试图从可能的用户数组中获取一个PHP代码,以返回添加到以下数组中的其他用户ID。

'online_users'            => array(54)
'bots_ids'                => array(153,122,173,124,173,132,184,188)

我想每1-5小时选择并添加一个随机机器人,此后他将被另一个机器人替换或被删除(并非所有机器人都必须同时在线)

我尝试将种子设置为当前时间除以随机数,但这似乎不起作用。

提前致谢!

我认为您在这种情况下正在寻找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

至于问题的第二部分,您可以设置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]];

答:您可以使用cron job每小时调用一次脚本...使用array_rand可以轻松完成随机bots

$bots = array(153,122,173,124,173,132,184,188);
$current = $bots[array_rand($bots)];
var_dump($current);

B.如果您有一个continue循环,则应查看如何在无穷循环中每4分钟回显某些内容,并用随机选择器替换echo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM