2012-01-15 53 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 />"; 
}