PHP遍历数组为零值

时间:2012-01-15 11:18:31

标签: php

我正在使用以下循环来遍历我需要值和键字段的数组。

while ($value = current($a)) {

echo "$value ".key($a).'<br />';
next($a);
}

问题是遍历只发生在数组中遇到'0'时,就像while语句所说的那样。我有什么方法可以遍历数组,零值(数组的大小不同)并得到值和键。

2 个答案:

答案 0 :(得分:3)

使用key代替current作为循环条件,并将其值与null进行比较:

  

key()函数只返回内部指针当前指向的数组元素的键。它不会以任何方式移动指针。如果内部指针指向元素列表末尾或数组为空,则key()返回NULL

while (($key = key($a)) !== null) {
    $value = value($a);
    echo "$value $key<br />";
    next($a);
}

但更方便的方法是使用foreach代替:

foreach ($a as $key => $value) {
    echo "$value $key<br />";
}

答案 1 :(得分:2)

只需使用foreach - 循环:

foreach($a as $key => $value) {

  echo "$value $key <br />";

}

它更简单,听起来就像你正在寻找的那样。