随机脚本不运行

时间:2016-04-19 21:59:50

标签: php random

php随机脚本运行缓慢

这似乎是问题

<?php   
   function sortear($prevItems, $number) {
     for ($k=0; $k<sizeof($prevItems); $k++) {
       if ($prevItems[$k] == $number)
          return true;
     }
       return false;
   }
   for ($i=0; $i<=9; $i++) {       
      $num[$i] = rand($_GET['inicial'],$_GET['final']);      
      while (sortear($prevItems, $num[$i])) {          
         $num[$i] = rand($_GET['inicial'],$_GET['final']);       
      }       
    $prevItems[$i] = $num[$i];
    }

   sort($num);

?> 

对此随机的任何消化? 其余代码在这里

link

1 个答案:

答案 0 :(得分:0)

你有一个无限循环; oldGeom循环永远不会终止,因为你永远不会增加while数组的大小。

试试这个:

$prevItems

当然,我不知道你究竟想要完成什么。我所知道的是你的脚本被破坏了,因为while循环只是继续前进......

修改

如果您只是想创建一个包含 start 编号和 end 编号之间所有值的随机数组,请执行以下操作:

function sortear($prevItems, $number) {
    for ($k=0; $k<sizeof($prevItems); $k++) {
        if ($prevItems[$k] == $number) {
            return true;
        }
    }
    return false;
}

for ($i=0; $i<=9; $i++) {       
    $num[$i] = rand($_GET['inicial'],$_GET['final']);      
    while (sortear($prevItems, $num[$i])) {          
        $num[$i] = rand($_GET['inicial'],$_GET['final']); 
        $prevItems[$i] = $num[$i];      
    }       
}

sort($num);