イイ感じのランダムにピックしてくれる関数
August 25, 2020
やりたかったこと
設定された最大値の中で、
指定された個数だけランダム且つユニークな数値要素を持つ配列を取得したい。
実装したこと
function rand_picks(int $max, int $remainingTime = 3, int $start = 1): array {
$nums = [];
for ($num = $start; $num <= $max; $num++) {
$nums[] = $num;
}
$uniques = [];
while ($remainingTime > 1) {
$p = array_rand($nums);
$uniques[] = $nums[$p];
unset($nums[$p]);
$remainingTime--;
}
return $uniques;
}