在程序开发汇总,经常需要对数组中的元素进行访问,在访问过程中需要用到数组指针。数组指针用于指向数组中的某个元素,在默认情况下指向数组的第一个元素
需要注意的是一个数组只有一个数组指针。为了方便对数组进行操作,php内置了一些数组指针函数,用于操作数组指针
函数名 | 作用 |
mixed current(array&$array) | 获取数组中当前元素的值,如果内部指针超出数组的末端,则返回false |
mixed key(array&$array) | 获取当前元素的下标,即键名 |
mixed next(array&$array) | 将数组的内部指针向前移动一位 |
mixed prev(array&$array) | 将数组的内部指针倒回一位 |
mixed end(array&$array) | 将数组的内部指针指向最后一位 |
mixed reset(array&$array) | 重置指针,即将数组的指针指向第一个元素 |
案例:
<?php
$arr1=array(
"os"=>"linux",
"server"=>"apche",
"database"=>"musql"
);
//使用数组指针结合while实现数组遍历
while (current($arr1)) {
echo key($arr1); //获取当前元素的下标
echo "=>";
echo current($arr1); //获取arr1数组指针当前指向的元素的值
echo "<br>";
next($arr1); //将arr1数组指针向前移动一位
}
?>
运行结果
值得注意的是,数组指针是可以移动到外部去的,一但移动到外部,其键就会变为null,值为false,此时则不能通过prev函数将数组中的指针移一位,只能使用reset()函数重置指针
each()函数指针的移动next()函数可以使数组的指针向前移动一位,实际上each()函数也可以实现同样的功能,其声明如下
each()函数接收一个数组作为参数,用于返回该数组中的键值对,并且将数组指针向前移动一位
案例
<?php
$arr=array(
"os"=>"linux",
"server"=>"apche",
"database"=>"musql"
);
echo "<pre>";
print_r(each($arr));
print_r(each($arr));
echo "</pre>";
?>
运行结果
*声明:内容来源于网络收集和整理,版权归原著所有,如来源信息有误或侵犯权益,请联系站长作修改和删除处理。