each
each
(PHP 4, PHP 5, PHP 7)
each - 从数组中返回当前的键和值对并推进数组光标
警告
此功能已被弃用
的PHP 7.2.0的。依靠这个功能是非常不鼓励的。
描述
array each ( array &$array )
从数组中返回当前的键和值对并推进数组光标。
在执行each()
后,数组游标将保留在数组的下一个元素上,或者如果它碰到数组的末尾,则会超过最后一个元素。如果要使用每个数组遍历数组,则必须使用reset()。
参数
array
输入数组。
返回值
返回数组中当前的键
和值
对array
。这对被返回一个四元件阵列中,与键
0
,1
,键
,和值
。元素0
和键
包含数组元素的键
名,1
和值
包含数据。
如果数组的内部指针指向数组内容的末尾,则each()
会返回FALSE
。
例子
示例#1each()示例
<?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
警告
因为将数组赋值给另一个变量会重置原始数组的指针,所以我们上面的示例会导致无限循环,因为我们将$ fruit分配给循环内的另一个变量。
警告
each()
也会接受对象,但可能会返回意外的结果。因此不建议使用each()
来遍历对象属性。