从头开始看手册,看到有关 continue代码如下<?php
while (list ($key, $value) = each($arr)) {
    if (!($key % 2)) { // skip odd members
        continue;
    }
    do_something_odd($value);
}$i = 0;
while ($i++ < 5) {
    echo "Outer<br />\n";
    while (1) {
        echo "&nbsp;&nbsp;Middle<br />\n";
        while (1) {
            echo "&nbsp;&nbsp;Inner<br />\n";
            continue 3;
        }
        echo "This never gets output.<br />\n";
    }
    echo "Neither does this.<br />\n";
}
?> 但运行时出错Warning: Variable passed to each() is not an array or object in G:\web\shop2\web\test\4.php on line 3
Outer
  Middle
  Inner
Outer
  Middle
  Inner
Outer
  Middle
  Inner
Outer
  Middle
  Inner
Outer
  Middle
  Inner
我对 while (list ($key, $value) = each($arr)) {不太理解,因为这段代码中上下文中都没定义$arr请前辈对这个例子加以解释指导,谢谢

解决方案 »

  1.   

    还有  while (1)  是什么意思呢 1既不是变量也不是表达式
      

  2.   

    1代表true
    即无条件死循环
      

  3.   


    谢谢  那0 就是false了 ,,,请帮忙解析一下1楼中代码while (list ($key, $value) = each($arr)) {
     $arr没有定义的问题。。
      

  4.   


    $arr   =   array('0'=> 'a','1'=> 'b','2'=> 'c','3'=> 'd'); while (list ($key, $value) = each($arr)) {
        if (!($key % 2)) { // skip odd members
            continue;
        }
        echo "$key => $value <br />";//改动一下打印出来
    }
    /*你将得到
    1 => b 
    3 => d 
    list就是遍历,通常都是配合while一起出现,跟foreach你可以结合起来,建议看看手册
    不过还有稍复杂些的用法,看手册吧,比这里得到答案更好
    */