說明
array
each ( array &array )
返回 array 陣列中現用的指標位置的鍵/值對並向前搬移陣列指標。鍵值對被返回為四個單元的陣列,鍵名為
0,1,key
和 value。單元 0 和
key 包括有陣列單元的鍵名,1 和
value 包括有資料。
若果內定指標越過了陣列的末端,則 each() 返回 FALSE。
例子 1. each() 例子
<?php $foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese"); $bar = each($foo); print_r($bar); ?>
|
$bar 現在包括有如下的鍵/值對:
Array
{
[1] => bob
[value] => bob
[0] => 0
[key] => 0
} |
|
each() 經常和 list()
結合使用來遍歷陣列,例如:
例子 2. 用 each() 遍歷陣列
<?php $fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry'); reset($fruit); while (list($key, $val) = each($fruit)) { echo "$key => $val\n"; } ?>
|
上例將輸出: a => apple
b => banana
c => cranberry |
|
在執行 each()
之後,陣列指標將停留在陣列中的下一個單元或是當碰到陣列結尾時停留在最後一個單元。若果要再用
each 遍歷陣列,必須使用 reset()。
注意 |
因為將一個陣列賦值給另一個陣列時會重設原來的陣列指標,因此在上邊的例子中若果我們在迴圈內定將
$fruit 賦給了另一個變量的話將會導致無限迴圈。
|
參見 key(),list(),current(),reset(),next(),prev()
和 foreach。