PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php数组指针什么用

青灯夜游
青灯夜游 原创
2022-12-28 19:23:46 4250浏览

php数组指针用于操作数组。数组指针是数组内部的组织机制,每个数组都有一个内部的指针指向它“当前的”单元(元素),这个指针最初指向的是当前数组中的第一个单元;通过移动或改变数组指针的位置,可以访问数组中的任意元素。对于数组指针的控制php提供了多个内置函数:current()、pos()、key()、next()、prev()、end()、reset()。

本教程操作环境:windows7系统、PHP8版、DELL G3电脑

php数组指针用于操作数组。

在php中,数组指针是数组内部的组织机制,指向一个数组中的某个元素。

每个数组都有一个内部的指针指向它“当前的”单元(元素),这个指针最初指向的是当前数组中的第一个单元。

通过移动或改变指针的位置,可以访问数组中的任意元素。对于数组指针的控制PHP提供了以下几个内置函数可以利用。

  • current():返回数组的当前元素

  • pos():current 的别名,用法一样。

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

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

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

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

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

这些函数的参数都是只有一个,就是要操作的数组本身。

在下面的示例中,将使用这些数组指针函数控制数组中元素的读取顺序。代码如下所示:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);  
$contact = array(
"ID" => 1,
"姓名" => "高某",
"公司" => "A公司",
"地址" => "北京市",
"电话" => "(010)98765432",
"EMAIL" => "gao@brophp.com",
);
//数组刚声明时,数组指针在数组中第一个元素位置
echo &#39;第一个元素:&#39;.key($contact).&#39; => &#39;.current($contact).&#39;<br>&#39;; //第一个元素
echo &#39;第一个元素:&#39;.key($contact).&#39; => &#39;.current($contact).&#39;<br>&#39;; //数组指针没动
next($contact);
next($contact);
echo &#39;第三个元素:&#39;.key($contact).&#39; => &#39;.current($contact).&#39;<br>&#39;; //第三个元素
end($contact);
echo &#39;最后一个元素:&#39;.key($contact).&#39; => &#39;.current($contact).&#39;<br>&#39;;
prev($contact);
echo &#39;倒数第二个元素:&#39;.key($contact).&#39; => &#39;.current($contact).&#39;<br>&#39;;
reset($contact);
echo &#39;又回到了第一个元素:&#39;.key($contact).&#39; => &#39;.current($contact).&#39;<br>&#39;;
?>

1.png

下面一个个来介绍一下。

current()函数

参数是一个数组,引用传值,返回当前数组指针所指向的值,指针移动超出了数组的末尾,返回false,在数组为空的情况下返回false

数组的指针默认在数组的第一位

<?php
$arr = [11,22,33,44,55,66];
echo current($arr);
?>

2.png

key()函数

参数是一个数组,引用传值,返回当前指针所指向的元素的键,当指针所指的那一位没有元素返回null,空数组返回null

<?php $arr = [11,22,33,44,55,66];
var_dump($arr);
echo current($arr)."<br>";   //当前指针指向11 
echo key($arr)."<br>";   //当前元素的键名
?>

3.png

next()函数

参数是一个数组,引用传值,移动数组指针到下一位,返回该位的值,当该位没有元素时返回false,空数组也会返回false

<?php
$arr = [11,22,33,44,55,66];
echo current($arr)."<br>";   //指针指向11
next($arr);                    //指针指向22
echo current($arr)."<br>";   //指针指向22
next($arr);                    //指针指向33
next($arr);                    //指针指向44
echo current($arr)."<br>";   //指针指向44
?>

4.png

prev()函数

参数是一个数组,引用传值,移动数组指针到上一位,返回该位的值,当该位没有元素时返回false,空数组也会返回false

<?php
$arr = [11,22,33,44,55,66];
echo current($arr)."<br>";   //指针指向11
next($arr);                    //指针指向22
next($arr);                    //指针指向33
echo current($arr)."<br>";   //指针指向33
prev($arr);                    //指针指向22
echo current($arr)."<br>";   //指针指向22

?>

5.png

end()函数

参数是一个数组,引用传值,将一个数组的内部指针移动到数组的最后一个元素所在的位置,然后返回最后一个元素的值,在数组为空的情况下返回false

<?php
$arr = [11,22,33,44,55,66];
echo current($arr)."<br>";   //指针指向11
end($arr);                 //指针指向11
echo current($arr)."<br>";   //指针指向66
?>

6.png

reset()函数

参数是一个数组,引用传值,将一个数组的内部指针重置到首位,也就是数组的第一个元素所在的位置,然后返回第一个元素的值,在数组为空的情况下返回false

<?php
$arr = [11,22,33,44,55,66];
echo current($arr)."<br>";   //指针指向11
next($arr);                    //指针指向22
next($arr);                    //指针指向33
echo current($arr)."<br>";   //指针指向33
reset($arr);               //指针指向11
echo current($arr)."<br>";   //指针指向11
?>

7.png

推荐学习:《PHP视频教程

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。