我有这个循环:
for ($i = 0; $i < 9; $i++) {
$random_number = rand(1, 9);
if (!in_array($section_one, $random_number)) {
array_push($section_one, rand(1, 9));
}
}
正如您所看到的,循环中的if语句检查生成的随机数是否已经在名为$ section_one的数组中。问题是如果数组中的随机数是,则应生成一个新的随机数。这样做很容易,但它必须不断重新生成一个随机数,直到生成一个唯一的数字。
我该怎么做?
答案 0 :(得分:1)
$run = true;
$max = 9;
$section_one = [];
while ($run) {
$rand = rand(1,$max);
if(!in_array($rand, $section_one)){
array_push($section_one, $rand);
}
if(count($section_one) >= $max) $run = false;
}
这个想法正在循环,直到$section_one
获得完整的唯一数字。
答案 1 :(得分:-1)
试试这个:
$section_one = array();
for ($i = 0; $i < 9; $i++) {
$random_number = rand(1, 9);
if (!in_array($random_number,$section_one)) {
array_push($section_one, $random_number);
}
}
var_dump($section_one);