私はPHP 7でアドベントカレンダーを作成していて、1から24までの日付をランダムな順序で表示したいと考えています。PHP - 重複のない乱数を生成
私のdiv
要素をランダム化できるjqueryプラグインがありますが、これはあまり良くありません。PHPで行う方法を知りたいのですが。
このような出力に私のコード(単純化したという点で)日付のルックス:私の計画ではなく、例えば、配列で生成された任意の番号を格納、その後rand(1, 24)
を使用していた
for ($d = 1; $d <= 24; $d++) {
echo $d;
}
$date = rand(1, 24);
$used_dates[] = $date;
次に、新しい日付を選択するときに$used_dates
をチェックします。
$unique_date = false;
while (!$unique_date) {
$date = rand(1, 24);
if (!in_array($date, $used_dates)) {
$used_dates[] = $date;
$unique_date = true;
}
}
これは非効率的です。より良い方法がありますか?