为什么';我的指针函数不起作用


Why aren't my pointer functions working

这是一个愚蠢的问题,但我不明白为什么我的指针函数不起作用。他们为什么不工作?

$r = array("boo", "goo", "buzz");
while($r = current($r))
{
 echo $r . '<br />';
 next($r);
}

删除while上的赋值:

示例:

$r = array("boo", "goo", "buzz");
while(current($r)) { // get current until true so it will loop, dont assign, you will overwrite r (the array), you could assign a new variable name instead, then use that new name to echo
    echo current($r) . '<br />'; // echo current pointer, not the whole array
    next($r); // shift to next pointer
}

$r = array("boo", "goo", "buzz");
while($a = current($r)) { // now you can assign, you won't overwrite `$r`
    echo $a . '<br />';
    next($r); // move to next pointer in r
}

试试这种方法。

$r = array("boo", "goo", "buzz");
while(list($var, $val) = each($r))
{
 echo $val . '<br />';

}