each

王朝百科·作者佚名  2009-12-20  
宽屏版  字体:   |    |    |  超大  

each

(PHP 3, PHP 4, PHP 5)

each -- 返回数组中当前的键/值对并将数组指针向前移动一步

说明

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

}

<?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

";

}

?>

上例将输出:

a => apple

b => banana

c => cranberry

在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。如果要再用 each 遍历数组,必须使用 reset()。

注意

因为将一个数组赋值给另一个数组时会重置原来的数组指针,因此在上边的例子中如果我们在循环内部将 $fruit 赋给了另一个变量的话将会导致无限循环。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有