(PHP 4, PHP 5, PHP 7)
each — 返回數組中當前的鍵/值對并將數組指針向前移動一步
本函數已自 PHP 7.2.0 起被廢棄,并自 PHP 8.0.0 起被移除。 強烈建議不要依賴本函數。
&$array
): array返回數組中當前的鍵/值對并將數組指針向前移動一步
在執(zhí)行 each() 之后,數組指針將停留在數組中的下一個單元或者當碰到數組結尾時停留在最后一個單元。如果要再用 each 遍歷數組,必須使用 reset()。
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 )
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
$bar 現在包含有如下的鍵/值對:
Array ( [1] => Bob [value] => Bob [0] => Robert [key] => Robert )
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
因為將一個數組賦值給另一個數組時會重置原來的數組指針,因此在上邊的例子中如果我們在循環(huán)內部將 $fruit 賦給了另一個變量的話將會導致無限循環(huán)。
each() 也接受對象,但可能會返回意外結果。因此不建議使用 each() 遍歷對象屬性。