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