php中使用数组的内部指针控制函数遍历数组

遍历数组的方法有很多,下文给我介绍的是关于利用指针来实现数组遍历了,这个有点意思大家一起来看看这个例子吧.

组的内部指针是数组内部的组织机制,指向一个数组中的某个元素,默认是指向数组中第一个元素通过移动或改变指针的位置,可以访问数组中的任意元素,对于数组指针的控制PHP提供了以下几个内建函数可以利用.

★current():取得目前指针位置的内容资料。

★key():读取目前指针所指向资料的索引值(键值)。

★next():将数组中的内部指针移动到下一个单元。

★prev():将数组的内部指针倒回一位。

★end():将数组的内部指针指向最后一个元素。

★reset():将目前指针无条件移至第一个索引位置。

这些函数的参数都是只有一个,就是要操作的数组本身,在下面的示例中,将使用这些数组指针函数控制数组中元素的读取顺序,代码如下所示:

  1. <?php
  2. $contact = array(
  3. "ID" => 1,
  4. "姓名" => "高某",
  5. "公司" => "A公司",
  6. "地址" => "北京市",
  7. "电话" => "(010)98765432",
  8. "EMAIL" => "gao@brophp.com",
  9. )
  10. //数组刚声明时,数组指针在数组中第一个元素位置
  11. echo '第一个元素:'.key($contact).' => '.current($contact).'<br>'; //第一个元素
  12. echo '第一个元素:'.key($contact).' => '.current($contact).'<br>'; //数组指针没动
  13. next($contact);
  14. next($contact);
  15. echo '第三个元素:'.key($contact).' => '.current($contact).'<br>'; //第三个元素
  16. end($contact);
  17. echo '最后一个元素:'.key($contact).' => '.current($contact).'<br>';
  18. //开源软件:phpfensi.com
  19. prev($contact);
  20. echo '倒数第二个元素:'.key($contact).' => '.current($contact).'<br>';
  21. reset($contact);
  22. echo '又回到了第一个元素:'.key($contact).' => '.current($contact).'<br>';
  23. ?>

在上例中通过使用指针控制函数next()、prev()、end()和reset()随意在数组中移动指针位置,再使用key()和current()函数获取数组中当前位置的键和值.