php while while循环更快完成

时间:2013-07-14 20:01:11

标签: php arrays loops while-loop

我有这段代码:

$nr=10;
       $teste=$this->vector_teste();
       $rezultat=array();
       $k=1;
       do{
         $rand_t=rand(0, count($teste)-1);
         $rand=rand(1,2);
         if($nr<$rand)$rand=1;
         $nr=$nr-$rand;
         $chest=new chestionar(get_cod_by_id($teste[$rand_t]));
         $cnt_q=$chest->numar_intrebari();
         for($i=1;$i<=$rand;$i++){
            $rand_q=rand(1, $cnt_q);
            $rezultat[$teste[$rand_t]][$i]=$rand_q;
         }

         $k++;
       }while($nr>0);

并且在代码的末尾,数组$ rezultat必须有10个项目,但有时它有9或8 ..如果我很幸运它有10个项目。为什么?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在最糟糕的情况下,你最多可以获得5件物品

$rand=rand(1,2);
if($nr<$rand)$rand=1;
$nr=$nr-$rand;

这段代码随机地将$nr递减1或2.将其更改为$nr--以始终有10次迭代。