6.3.7 使用数组的内部指针控制函数遍历数组
使用数组的内部指针控制函数遍历数组
数组指针的控制函数
由于数组是由多笔资料集合而成,所以当程序需要运算处理其中某个索引位置的资料内容时,会由数组之中内定的指针,指向目标资料,以提供程序作正确的读取。下面针对数组指针控制的相关函数,作简单的说明介绍:
next()、prev()、end()及 reset()
这四个函数可以控制目前数组中的指针位置。next()负责将指针向后移动,prev()负责将指针向前移动;end()会将指针指向数组中最后一个元素,而 reset()函数则会将目前指针无条件移至第一个索引位置。
语法格式:
mixed next(数组名称); mixed prev(数组名称);
mixed end(数组名称); mixed reset(数组名称);
mixed key(数组名称); mixed current(数组名称);
test.php
<?php
//声明一个一维的关联数组$contact, 使用“=>”运算符指定了每个元素的字符串下标
$contact = **array**( "ID" => 1, "姓名" => "高某", "公司" => "A公司", "地址" => "北京市",
"电话" => "(010)98765432", "EMAIL" => "gao@brophp.com" );
//数组刚声明时,数组指针在数组中第一个元素位置
//使用key()和current()函数传入数组$contact,返回数组中当前元素的键和值
**echo** '第一个元素:'.key($contact).' => '.current($contact).'<br>'; //第一个元素
**echo** '第一个元素:'.key($contact).' => '.current($contact).'<br>'; //数组指针没动
next($contact); //将数组$contact中的指针向下一个元素移动一次,指向第二个元素的位置
next($contact); //将数组$contact中的指针向再下一个元素移动一次,指向第三个元素的位置
**echo** '第三个元素:'.key($contact).' => '.current($contact).'<br>'; //第三个元素
end($contact); //再将数组$contact中的指针移动到最后,指向最后一个元素
**echo** '最后一个元素:'.key($contact).' => '.current($contact).'<br>'; //最后一个元素
prev($contact); //将数组$contact中的指针倒回一位,指向最后第二个元素
**echo** '最后第二个元素:'.key($contact).' => '.current($contact).'<br>'; //最后第二个元素
reset($contact); //再将数组$contact中的指针重置到第一个元素的位置,指向第一个元素
**echo** '又回到了第一个元素:'.key($contact).' => '.current($contact).'<br>'; //第一个元素
test.php
<?php
/*
* 控制指定的位置
*
*
* next();
* prev();
* reset();
* end();
*
* each(); --- next()
*
* key() 获取当前下标
* current() 获取当前的值
*
*
*
*/
$arr = array("one"=>"妹子", "two"=>"峰哥", "three"=>"观众", "four"=>"小四", "5"=>"five");
/* next($arr);
next($arr);
next($arr);
*/
end($arr);
prev($arr);
reset($arr);
echo "当前的位置(默认在第一个): ".key($arr)."=>".current($arr)."<br>";