PHP

each

each

(PHP 4, PHP 5, PHP 7)

each - 从数组中返回当前的键和值对并推进数组光标

警告

此功能已被弃用的PHP 7.2.0的。依靠这个功能是非常不鼓励的。

描述

array each ( array &$array )

从数组中返回当前的键和值对并推进数组光标。

在执行each()后,数组游标将保留在数组的下一个元素上,或者如果它碰到数组的末尾,则会超过最后一个元素。如果要使用每个数组遍历数组,则必须使用reset()。

参数

array

输入数组。

返回值

返回数组中当前的array。这对被返回一个四元件阵列中,与01,和。元素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()来遍历对象属性。