Ase*_*rge 6 php loops while-loop do-while
我正在Do While loop我的项目中工作,第一次工作正常.
之前while statement,我为一个数组赋值,我能够在代码底部成功打印数组,但是当我在循环顶部检查时它变为0.
码:
$looparray = array();
$loopend = 0;
$arraymer = array();
$poolafirtsid = $previous_array_values; //previous array values
do {
   if (sizeof($looparray) == 0) {
       $firstsponarray = $poolafirtsid;
   } else {
       $firstsponarray = $looparray;
   }
   $firstsponarray = getUserArray($poolafirtsid);
   //get user arraylist of first
   foreach ($firstsponarray as $avalue) {
       $rooparray = membercount($avalue);
       $bsponarray = getUserArray($avalue);
       //get second users arraylist 9
       if (sizeof($bsponarray > 0)) {
           $barraymer = array_merge($barraymer, $bsponarray);
       }
       $aarraylist[$avalue] = $rooparray;
   }
   $asmallestsponid = getSmallestID($aarraylist);
   //get smallest id in the array
   if (membercount($asmallestsponid) < 3) {
       $loopend = 1;
   } else {
       global $pooldata;
       if (count($barraymer) > 0) {
           $pooldata = $barraymer;
       }
       print_r($pooldata);
   }
} while ($loopend == 1);
当我打印在其他工作,但我无法打印do循环的开始,其显示数组大小为0
我将忽略所有名称问题,但解决您的while循环问题:
$loopend =0;
do {
    ...
    if(membercount($asmallestsponid)<3) {
         $loopend = 1;
    }else{
      ...
    }
while ($loopend == 1);
有两种选择:
if条件为真:如果是这样,$loopend将得到1以便循环继续(这似乎不适合称他为"循环结束"但是什么......)
if条件为false:则$loopend保持相同(init为0),以便循环停止
恕我直言 - 这将简化你的循环:
do {
    ...
while (membercount($asmallestsponid)<3);
| 归档时间: | 
 | 
| 查看次数: | 354 次 | 
| 最近记录: |