如何在PHP中使用next()来遍历数组(NULL => NULL,FALSE => FALSE)

Yis*_*ang 2 php

如何next()在PHP中使用如下遍历数组:

$a = array(NULL=>NULL, FALSE=>FALSE)
Run Code Online (Sandbox Code Playgroud)

这种代码不起作用:

reset($a);
while (key($a)) {
    print "a";
    next($a);
}
Run Code Online (Sandbox Code Playgroud)

Sit*_*thu 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>";
}
Run Code Online (Sandbox Code Playgroud)

你也可以试试foreach.

$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
foreach($fruit as $key => $val){
    echo "$key => $val<br>";
}
Run Code Online (Sandbox Code Playgroud)