PHP中使用数组指针函数操作数组示例

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

★current():取得目前指针位置的内容资料。
★key():读取目前指针所指向资料的索引值(键值)。
★next():将数组中的内部指针移动到下一个单元。
★prev():将数组的内部指针倒回一位。
★end():将数组的内部指针指向最后一个元素。
★reset():将目前指针无条件移至第一个索引位置。

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


<?php

$contact = array(

"ID" => 1,

"姓名" => "高某",

"公司" => "A公司",

"地址" => "北京市",

"电话" => "(010)98765432",

"EMAIL" => "gao@brophp.com",

);

 

//数组刚声明时,数组指针在数组中第一个元素位置

echo '第一个元素:'.key($contact).' => '.current($contact).'<br>'; //第一个元素

echo '第一个元素:'.key($contact).' => '.current($contact).'<br>'; //数组指针没动

 

next($contact);

next($contact);

echo '第三个元素:'.key($contact).' => '.current($contact).'<br>'; //第三个元素

 

end($contact);

echo '最后一个元素:'.key($contact).' => '.current($contact).'<br>';

 

prev($contact);

echo '倒数第二个元素:'.key($contact).' => '.current($contact).'<br>';

 

reset($contact);

echo '又回到了第一个元素:'.key($contact).' => '.current($contact).'<br>';

?>

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