2012-01-15 126 views
-1

我正在使用以下循环遍历数组,其中我需要值和键字段。带零值的PHP遍历数组

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

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

的问题是,在遍历仅发生直到一个“0”的阵列作为while语句says.Is有什么办法可以遍历具有零个值的数组(数组的大小而定)中遇到和获得价值和关键。

+2

使用'foreach'代替:http://php.net/manual/en/control-structures.foreach .php(这是一种更流行的方式来遍历数组而不是while循环)。 – 2012-01-15 11:19:19

+0

与foreach我无法获得关键值 – deXter 2012-01-15 11:23:38

+0

当然,你是。你有没有看过文档? – 2012-01-15 11:24:48

回答

2

只使用一个foreach -loop:

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

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

} 

它更简单,听起来就像你在找什么。

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 />"; 
}