如果某个条件为';我在PHP中见过面

如果某个条件为';我在PHP中见过面,php,arrays,random,Php,Arrays,Random,我有一个循环: 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)); } } ($i=0;$i

我有一个循环:

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));
    }
}
($i=0;$i<9;$i++)的
{
$random_number=rand(1,9);
if(!in_数组($section_one,$random_number)){
数组推送($section_one,rand(1,9));
}
}
正如您所看到的,循环中的if语句检查生成的随机数是否已经在名为$section_one的数组中。问题是,如果随机数在数组中,则应生成新的随机数。这样做很容易,但它必须不断地重新生成一个随机数,直到生成一个唯一的随机数

我该怎么做呢?

试试这个:

$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);
$section_one=array();
对于($i=0;$i<9;$i++){
$random_number=rand(1,9);
if(!in_数组($random_number,$section_one)){
数组推送($section\u one,$random\u number);
}
}
var_dump(第一节);
想法是运行循环,直到
$section\u one
获得完整的唯一编号

$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;
}