0

我有这个代码:

$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 个项目。为什么?我怎样才能解决这个问题?

4

1 回答 1

0

在最坏的情况下,您最多可以获得 5 件物品。

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

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

于 2013-07-14T20:07:55.953 回答