2015-11-18 50 views
0

我從一本書上做一些基本的PHP的東西,並在陣列部分我得到了這個例子:PHP:瞭解每個功能與陣列

$array= array('Books '=>3 , 'Pens' => 4); 
while ($element= each($array)){ 
    echo $element[0].' - '. $element[1].'<br/>'; 
} 

所以這是輸出:

Books - 3 
Pens - 4 

我問題是,當我們在循環中解析這個數組時,它是否返回數組中的每個元素?我的意思是$ element [0]是索引0和$ element [1]是書籍索引1,然後是筆或其關鍵對值?

+1

請仔細閱讀使用手冊 - http://php.net/manual/en/function.each.php –

回答

0

參見each()。它返回當前的鍵/值對的陣列,並且使用索引0和1以及索引keyvalue

echo $element['key'].' - '. $element['value'].'<br/>'; 

同樣可以以更可見的方式使用列表,它分配一個數組變量進行:

$array = array('Books '=>3 , 'Pens' => 4); 

while (list($key, $val) = each($array)){ 
    echo "Key is $key and Value is $val<br/>"; 
} 

foreach()更commanly使用:

foreach($array as $key => $val) { 
    echo "Key is $key and Value is $val<br/>"; 
} 
+0

所以每個項目本身就是一個數組? – Sikander

+0

不在原始數組中。 'each()'提取鍵和值並將其作爲數組返回。 – AbraCadaver

+0

好的,謝謝你的幫助。 – Sikander