小编use*_*156的帖子

为什么这个PHP函数循环不断?

function nonrecgen($min, $max, $amount) {
for($i=0;$i<$amount;$i++) {

$NrArray[$i] = rand($min,$max);
echo $NrArray[$i];
do  {
    for($j=0;$j<=$i;$j++) {
      if ($NrArray[$j] == $NrArray[$i]) {
      $NrArray[$i] = rand($min,$max);   }     
                          }
       $Reccuring = false;
   if ($i > 0) {
    for($k=0;$k<=$i;$k++) {
      if ($NrArray[$k] == $NrArray[$i]) {
       $Reccuring = true;               }
                          }
               }
    }
while ($Reccuring = true);
                          }
Return $NrArray;                                        
                                        }

$Test = nonrecgen(0,1,2);
print_r($Test);
Run Code Online (Sandbox Code Playgroud)

我想研究如何生成一个非重复数字的数组,虽然这当然不是我认为最有效的方式,但我似乎无法弄清楚为什么它在第一次迭代时无休止地循环.我一遍又一遍地尝试逻辑分析,但必须有一些我不知道的东西.

php cycle

3
推荐指数
3
解决办法
381
查看次数

标签 统计

cycle ×1

php ×1