0

私のphpは錆びています。次の配列に追加された別のユーザーIDを、可能なユーザーの配列から返すPHPコードを取得しようとしています。

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

1〜5時間ごとにランダムなボットを選択して追加したいのですが、その後、別のボットに置き換えられるか、削除されます(すべてのボットが同時にオンラインである必要はありません)

シードを現在の時間を乱数で割った値に設定しようとしましたが、機能しないようです。

前もって感謝します!

4

2 に答える 2

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番目の部分については、変更をトリガーする1時間ごとにスクリプトを実行するようにcronを設定できます。または、オンライン/オフラインリストに、1時間ごとにランダムに選択されるボットの共通プールを作成することもできます。

$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]];
于 2012-10-15T12:58:12.330 に答える
0

A.cron jobスクリプトを1時間ごとに呼び出すために使用できます...ランダムを取得するにはbotsarray_rand

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

B.継続ループがある場合は、無限ループ中に4分ごとに何かをエコーする方法を確認し、エコーをランダムセレクターに置き換える必要があります。

于 2012-10-15T12:56:23.357 に答える