•array each ( array array)
返回 array 数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。
如果内部指针越过了数组的末端,则 each() 返回 FALSE。
each() 经常和list( ) 结合使用来遍历数组。
•void list ( mixed ...) –它不是真正的函数,而是语言结构。list() 用一步操作给一组变量进行赋值。
注: list() 仅能用于数字索引的数组并假定数字索引从0开始。
–在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。如果要再用 each 遍历数组,必须使用reset( )。
<?php
//声明一个数组$contact作为each()函数的参数
$contact = array("ID" => 1, "姓名" => "高某", "公司" => "A公司", "地址" => "北京市" );
$id = each($contact); //返回数组$contact中第一个元素的键/值对,是带有4个元素的数组
print_r($id); //输出数组$id:Array ( [1] => 1 [value] => 1 [0] => ID [key] => ID)
$name = each($contact); //返回数组$contact中第二个元素的键/值对,是带有4个元素的数组
print_r($name); //输出Array ( [1] => 高某 [value] => 高某 [0] => 姓名 [key] => 姓名)
$info = array('coffee', 'brown', 'caffeine'); //声明一个索引数组$info
list($drink, $color, $power) = $info; //将数组中的所有元素转为变量
echo "$drink is $color and $power makes it special.\n"; //三个变量值是数组中三个元素的值
list($drink, , $power) = $info; //将数组中的部分元素转换为变量
echo "$drink has $power.\n"; //两个变量值是数组中前两个元素的值
list( , , $power) = $info; //跳过前两个只将数组中第三个元素转为变量
echo "I need $power!\n"; //输出的一个变量值是数组中第三个元素的值
使用while一起遍历数组
<?php
//声明一个一维的关联数组$contact
$contact = array("ID" => 1,
"姓名" => "高某",
"公司" => "A公司",
"地址" => "北京市",
"电话" => "(010)98765432",
"EMAIL" => "gao@brophp.com"
);
//以HTML列表的方式输出数组中每个元素的信息
echo '<dl>一个联系人信息:';
while( list($key, $value) = each($contact) ){ //将foreach语句改写成while、list()和each()组合
echo "<dd> $key : $value </dd>"; //输出每个元素的键/值对
}
echo '</dl>';