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()函数获取数组中当前位置的键和值。