【问题标题】:php while loop finish soonerphp while循环更快完成
【发布时间】:2013-07-12 15:57:36
【问题描述】:

我有这个代码:

$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 个项目。为什么?我该如何解决这个问题?

【问题讨论】:

    标签: php arrays loops while-loop


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-08-20
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      • 2016-06-16
      • 2017-04-29
      • 2019-04-09
      • 1970-01-01
      • 2016-11-27
      相关资源
      最近更新 更多