我的那个的循环是这样的
while($res=mysql_fetch_array()) {
   ……
   for($i=0; $i<$pcount; $i++) {
       ……
       if() {……;continue;}
       ……
   }
}
发现就是这里面那个continue语句的问题,一注释掉那句就不会了。那句有问题么?只是返回for继续循环呀。

解决方案 »

  1.   

    没有什么,只是执行了这个continue后,i的值有增(++)吗?
      

  2.   

    噢,原来得自己增加1才行啊?
    for($i=0; $i<$pcount; $i++) {
    不起作用么?
      

  3.   

    主体就是while($res=mysql_fetch_array()) {
       ……
       for($i=0; $i<$pcount; $i++) {
           ……
           if() {continue;}
           ……
       }
    }
    其他地方都没有问题。因为发现就是屏蔽了那句continue的就没问题了。问题出在哪里?
      

  4.   

    也许你可以在里面先加几个echo来试试,看看能输出些什么值,对i进行,看看是不是预期的值
      

  5.   

    用 if() {$i++;continue;}试试看?
    按理说 continue;这句是不该有问题的
      

  6.   

    continue; 和 contiune 1; 的意思是一样的吧,都是跳出当次循环啊,我看还是代码里面有什么问题!
      

  7.   

    再说在for语句里面,i++虽然是最后执行的,但它是不受continue 和 break 的控制!
      

  8.   

    问题是那句就陷入死循环,没反应了。所以没法echo i值看看。
    $res=mysql_query("select * from bbsforum$forumid order by date desc");
    while($row=mysql_fetch_array($res)) {
    for($i=0; $i<$pcount; $i++) {
    if($i=0 && $row[sta]) {$topicdate=$time;continue;}
             }
    }
    大体代码就是这样,需要再贴出所有代码么?
      

  9.   

    if($i=0 && $row[sta]) {$topicdate=$time;continue;}
    先把这里的 $i=0 改成 $i==0 试试,看看还有么有错?