2

如何next()在 PHP 中使用这样的遍历数组:

$a = array(NULL=>NULL, FALSE=>FALSE)

这种代码不起作用:

reset($a);
while (key($a)) {
    print "a";
    next($a);
}
4

2 回答 2

5

如果您查看next() 的手册,您会看到这一点。

您将无法将数组的结尾与布尔 FALSE 元素区分开来。要正确遍历可能包含 FALSE 元素的数组,请参阅each()函数。

这是一种解决方法:

$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val<br>";
}

您也可以尝试foreach

$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
foreach($fruit as $key => $val){
    echo "$key => $val<br>";
}
于 2013-01-24T05:52:41.537 回答
-1

我会这样做:

foreach ($a as $value ) {
 print $value
 }
于 2013-01-24T05:50:18.320 回答